我需要在我正在编写的VS2010 SDI应用程序中创建一些动态菜单。我已经看过,但是不太了解
Dynamic menu using mfc

目前,我还不知道如何使用GetMenu从Doc文件中获取菜单的句柄。我正在尝试此操作,但是它说GetMenu不会接受零参数,即使我看到的许多示例都清楚地表明了这一点。

CMenu *menu = GetMenu();


        menu->AppendMenu(MF_STRING, ID_HIDE, _T("Text"));


我要做的就是在一个子菜单下添加一个文件列表,该子菜单是从数据库中选择的(因此是动态部分),因此用户可以选择他们要处理的文件。

谢谢,
詹姆士

最佳答案

如果要在从GetMenu派生的窗口类中调用CWnd,则将调用CWnd::GetMenu,它将不需要窗口句柄。如果从其他任何地方调用它,则会得到::GetMenu(HWND),并且需要传递窗口句柄。您可以从具有其m_hWnd成员的任何CWnd对象或通过对其调用GetSafeHwnd()来获取该句柄。

08-27 14:26