如何给项目/文件夹添加菜单


项目/文件夹添加菜单回调函数示例代码如下:

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;指定命令处理回调函数。