我需要在我正在编写的 VS2010 SDI 应用程序中创建一些动态菜单。这个我看过,但不是很懂 Dynamic menu using mfc
目前,我什至不知道如何使用 GetMenu 从我的 Doc 文件中获取菜单的句柄。我正在尝试这个,但它说 GetMenu 不接受零参数,即使我看到的许多例子清楚地表明了这一点。
CMenu *menu = GetMenu();
menu->AppendMenu(MF_STRING, ID_HIDE, _T("Text"));
我想要做的就是在子菜单下添加一个文件列表,从数据库中选择(因此是动态部分),这样用户就可以选择他们想要处理的文件。
谢谢, 詹姆斯
最佳答案
如果您从派生自 CWnd
的窗口类中调用 GetMenu
,您将调用 CWnd::GetMenu
并且它不需要窗口句柄。如果您从其他任何地方调用它,您将获得 ::GetMenu(HWND)
并且您需要传递一个窗口句柄。您可以使用其 m_hWnd
成员或通过对其调用 GetSafeHwnd()
从任何 CWnd 对象获取句柄。
关于c++ - MFC 中的动态菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11124058/