c++ - MFC 中的动态菜单

标签 c++ mfc

我需要在我正在编写的 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/

相关文章:

c# - 将 HWND 转换为 IntPtr (CLI)

c++ - ofstream 创建文件但不在 C++ 中写入

visual-c++ - 如何将MFC窗体的控件从底部移动到顶部?

c++ - 互斥锁映射c++11

java - 我需要解释 Android 的 JNI 代码行

c++ - 智能指针是 RAII 的良好实践吗?

c++ - 如何使用 GTest 测试严重依赖 MFC 的方法

c++ - 图像数据矩阵中的偏移值及其对整数值的影响

c++ - 我怎样才能把这个qt程序放到一个源代码文件中

c++ - 如何在 MFC SDI CFormView 应用程序中调整窗体(对话框)的大小?