C++ 将窗口关闭按钮添加到菜单栏--C++;

C++ 将窗口关闭按钮添加到菜单栏--C++;,c++,windows,C++,Windows,我正在尝试编写一个没有标题栏的应用程序(这是对屏幕不动产的严重浪费)。因此,我希望在菜单栏的末尾添加一个关闭按钮(“X”)。以下是我尝试过的代码: mII.cbSize = sizeof(MENUITEMINFO); mII.fMask = MIIM_FTYPE | MIIM_BITMAP; mII.fType = MFT_BITMAP | MFT_RIGHTJUSTIFY; mII.hbmpItem = HBMMENU_MBAR_CLOSE; InsertMenuItem(hMenu, NUM

我正在尝试编写一个没有标题栏的应用程序(这是对屏幕不动产的严重浪费)。因此,我希望在菜单栏的末尾添加一个关闭按钮(“X”)。以下是我尝试过的代码:

mII.cbSize = sizeof(MENUITEMINFO);
mII.fMask = MIIM_FTYPE | MIIM_BITMAP;
mII.fType = MFT_BITMAP | MFT_RIGHTJUSTIFY;
mII.hbmpItem = HBMMENU_MBAR_CLOSE;
InsertMenuItem(hMenu, NUMMI, TRUE, &mII);
DrawMenuBar(hwnd);
在本例中,“NUMMI”等于当前主菜单项的数量(编号为“0”到“4”)。新的关闭按钮将是项目编号“5”


然而,代码似乎什么都不做!菜单栏上不显示任何按钮。我错过什么了吗?

谢谢雷米。我消除了
MFT_位图
标志,现在它可以工作了。MS文档没有明确说明这一点

对于那些可能正在阅读本文并提出相同问题的人,我应该注意,上面的代码只显示按钮。必须添加功能,就像任何其他按钮或菜单项一样。将唯一标识符分配给结构的
wID
成员。该命令与其他菜单项一起在
WM_command
案例中处理

以下是修订后的工作代码:

mII.cbSize = sizeof(MENUITEMINFO);
mII.fMask = MIIM_FTYPE | MIIM_BITMAP;
mII.fType = MFT_RIGHTJUSTIFY;
mII.wID = ID_MENUBAR_CLOSE;
mII.hbmpItem = HBMMENU_MBAR_CLOSE;
InsertMenuItem(hMenu, NUMMI, TRUE, &mII);
DrawMenuBar(hwnd);
ID\u菜单栏\u关闭
是一个宏,定义我分配给此按钮的唯一编号。该命令是在
WM_命令
情况下处理的:

case ID_MENUBAR_CLOSE:
     SendMessage(hwnd, WM_CLOSE, 0, 0L);  return 0;
     return 0;

瞧,菜单栏上的一个工作关闭按钮。

MIIM_位图
MFT_位图
不在一起。使用其中一个,而不是两个。如果要使用
hbmpItem
,请使用
MIIM\u位图
。如果使用
MFT_位图
,则需要将
HBITMAP
放在
dwTypeData
中。