问题就在这里,问题就是POPUP MENU是没有ID的,以下这是一般在*.rc资源文件中的MENU定义, ///////////////////////////////////////////////////////////////////////////// // MenuIDR_MAINFRAME MENU PRELOAD DISCARDABLE BEGIN POPUP "文件(&F)" BEGIN MENUITEM "退出(&X)", ID_APP_EXIT END POPUP "查看(&V)" //POPUP 诸如"文件","查看","帮助"都没有ID BEGIN MENUITEM "状态栏(&S)", ID_VIEW_STATUS_BAR MENUITEM "工具栏(&T)", ID_VIEW_TOOL_BAR END POPUP "帮助(&H)",GRAYED //在这里加上GRAYED可以使其Disabled BEGIN MENUITEM "关于 CGFramework(&A)...", ID_APP_ABOUT END POPUP "自定义功能(&C)" BEGIN MENUITEM SEPARATOR END END //////////////////////////////////////////////////////////////////////////// 像上面看到的,诸如"文件","查看","帮助"等Popup Menu都没有ID, 而我希望使用程序控制"查看"菜单项是否变灰,而不是像定义里一样使"帮助"变灰
PopUpMenu.LoadMenu(IDR_MENU_DOCUMENT);//装载菜单
……
PopUpMenu.EnableMenuItem(ID_DOCUMENT_CHECKOUT,MF_DISABLED| MF_GRAYED);//ID_DOCUMENT_CHECKOUT是要变灰的ID
/////////////////////////////////////////////////////////////////////////////
// MenuIDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
POPUP "文件(&F)"
BEGIN
MENUITEM "退出(&X)", ID_APP_EXIT
END
POPUP "查看(&V)" //POPUP 诸如"文件","查看","帮助"都没有ID
BEGIN
MENUITEM "状态栏(&S)", ID_VIEW_STATUS_BAR
MENUITEM "工具栏(&T)", ID_VIEW_TOOL_BAR
END
POPUP "帮助(&H)",GRAYED //在这里加上GRAYED可以使其Disabled
BEGIN
MENUITEM "关于 CGFramework(&A)...", ID_APP_ABOUT
END
POPUP "自定义功能(&C)"
BEGIN
MENUITEM SEPARATOR
END
END
////////////////////////////////////////////////////////////////////////////
像上面看到的,诸如"文件","查看","帮助"等Popup Menu都没有ID,
而我希望使用程序控制"查看"菜单项是否变灰,而不是像定义里一样使"帮助"变灰