我试图加载一个弹出的“右键单击”菜单,并使用资源文件来定义菜单项。图片显示了当我右键单击时发生的情况,它显示了2个项目的空间,这是正确的,但未显示任何文本。
在.cpp中:
POINT pt;
pt.x = LOWORD (lParam);
pt.y = HIWORD (lParam);
ClientToScreen (hwnd, &pt);
HMENU hMenu = LoadMenu(NULL, MAKEINTRESOURCE(IDR_POPUPMENU));
TrackPopupMenu (hMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwnd, NULL);
和资源:
IDR_POPUPMENU MENU DISCARDABLE
BEGIN
MENUITEM "test", IDM_TEST
MENUITEM "Close", IDM_CLOSE
END
任何关于我什么东西的想法都错了吗?
谢谢。
编辑:我刚刚测试,并单击“没有显示文本”区域中,它发送正确的消息。是什么导致它不显示文本?
最佳答案
找到了解决方案:
HMENU hMenu = LoadMenu(NULL, MAKEINTRESOURCE(IDR_POPUPMENU));
hMenu = GetSubMenu(hMenu, 0);
和资源:
IDR_POPUPMENU MENU DISCARDABLE
BEGIN
POPUP "TEST"
BEGIN
MENUITEM "Test", IDM_TEST
MENUITEM "Close", IDM_CLOSE
END
END
只需使用开始的子菜单启动资源条目,TEST不会显示,只有其菜单项会显示。