获取菜单句柄

时间:2014-11-12 20:45:21

标签: winapi

我使用visual studio中的资源编辑器创建了菜单和子菜单。我现在想在运行时向其中一个菜单添加项目。我打算使用InsertMenuItem函数,但我不知道如何访问HMENU变量。

1 个答案:

答案 0 :(得分:3)

LoadMenu似乎就是你所需要的。使用它从资源编辑器加载菜单,如下所示:

HMENU yourMenu = LoadMenu( hInst,  // variable where you stored your HINSTANCE
    MAKEINTRESOURCE(IDM_MENU1) );  // replace IDM_MENU1 with the ID of your menu

Here有很多有用的例子,你可能会觉得非常有用。其中一些可以解决您的问题,有些可能对您有用。如果我是你,我会研究Example of Menu-Item Bitmaps部分......

如果您需要已分配给窗口的菜单句柄,请使用GetMenu作为成员 arx 表示。像这样:

HMENU yourMenu = GetMenu(hWnd);  // hWnd is the HWND of the window that owns your menu

不要忘记使用DestroyMenu销毁不再需要的菜单(通常在窗户销毁时)。

This示例也可能对您有所帮助。这是Win32的非常好的入门教程,我建议你阅读它(只需转到主页并下载两个 PDF和.zip文件及代码示例)。

正如我之前所说,你的问题并不完全清楚,所以如果你有其他问题,请给我留言。

希望这个答案能解决你的问题。最好的问候。