项目/文件夹添加菜单回调函数示例代码如下:
ULONG hAdvancedMenu;
AADMSMENUITEM aaMenuItem;
aaMenuItem.ulMask = AADMSMIF_FLAGS | AADMSMIF_CMDTYPE;
aaMenuItem.uiFlags = AAMIF_SEPARATOR;
aaMenuItem.uiCmdType = AAMENU_PROJECT;
aaApi_AddCustomMenuItem(0, AADMSMI_LAST, &aaMenuItem);
aaMenuItem.ulMask = AADMSMIF_FLAGS | AADMSMIF_NAME | AADMSMIF_CMDTYPE;
aaMenuItem.uiFlags = AAMIF_POPUP;
aaMenuItem.uiCmdType = AAMENU_PROJECT;
aaMenuItem.lptstrName = L"文件夹命令";
hAdvancedMenu = aaApi_AddCustomMenuItem(0, AADMSMI_LAST, &aaMenuItem);
if (!hAdvancedMenu)
{
return FALSE;
}
m_uiPrj1Id = aaApi_ReserveCommandIdByType(AAMENU_PROJECT);
aaMenuItem.ulMask = AADMSMIF_FLAGS | AADMSMIF_NAME | AADMSMIF_CMDTYPE | AADMSMIF_PROMPT |
AADMSMIF_CMDID | AADMSMIF_REQUIRED | AADMSMIF_CALLBACK;
aaMenuItem.uiFlags = AAMIF_COMMAND;
aaMenuItem.uiCmdType = AAMENU_PROJECT;
aaMenuItem.lptstrPrompt = L"文件夹命令1";
aaMenuItem.lptstrName = L"文件夹命令1";
aaMenuItem.uiCommandId = m_uiPrj1Id;
aaMenuItem.ulRequiredMask = AAMF_SEL_PROJECT;
aaMenuItem.fpExecute = lpCallback;
aaMenuItem.ushParamType = AACMDPT_ITEMID;
if (!aaApi_AddCustomMenuItem(hAdvancedMenu, AADMSMI_LAST, &aaMenuItem))
{
return FALSE;
}
m_uiPrj2Id = aaApi_ReserveCommandIdByType(AAMENU_PROJECT);
aaMenuItem.lptstrPrompt = L"文件夹命令2";
aaMenuItem.lptstrName = L"文件夹命令2";
aaMenuItem.uiCommandId = m_uiPrj2Id;
aaMenuItem.ulRequiredMask = AAMF_SEL_PROJECT;
if (!aaApi_AddCustomMenuItem(hAdvancedMenu, AADMSMI_LAST, &aaMenuItem))
{
return FALSE;
}
return TRUE;
其中aaMenuItem.fpExecute = lpCallback;指定命令处理回调函数。