我需要在我正在编写的VS2010 SDI应用程序中创建一些动态菜单。我已经看过这个了,但是真的不明白 Dynamic menu using mfc
目前,我不知道如何使用GetMenu从我的Doc文件中获取菜单句柄。我正在尝试这个,但它说GetMenu没有采用零参数,即使我看到的许多例子清楚地表明了这一点。
CMenu *menu = GetMenu();
menu->AppendMenu(MF_STRING, ID_HIDE, _T("Text"));
我想要做的就是在子菜单下添加一个文件列表,从数据库中选择(因此是动态部分),这样用户就可以选择他们想要处理的文件。
谢谢, 詹姆斯
答案 0 :(得分:1)
如果您从GetMenu
派生的窗口类中调用CWnd
,您将调用CWnd::GetMenu
并且不需要窗口句柄。如果你从其他任何地方调用它,你将得到::GetMenu(HWND)
,你将需要传递一个窗口句柄。您可以使用m_hWnd
成员或通过调用GetSafeHwnd()
来获取任何CWnd对象的句柄。