菜单(菜单和其他资源)

本部分介绍菜单,并说明如何使用它们。

在本部分中

名字 描述
有关菜单 讨论菜单。
使用菜单 提供与菜单相关的任务的代码示例。
菜单参考 包含 API 参考。
名字 描述
AppendMenu 将新项追加到指定菜单栏、下拉菜单、子菜单或快捷菜单的末尾。 可以使用此函数指定菜单项的内容、外观和行为。
CheckMenuItem 将指定菜单项的复选标记属性的状态设置为选中或清除。
CheckMenuRadioItem 检查指定的菜单项,并将其作为单选项。 同时,该函数会清除关联组中的所有其他菜单项,并清除这些项目的单选项类型标志。
CreateMenu 创建菜单。 菜单最初为空,但可以使用 InsertMenuItemAppendMenuInsertMenu 函数填充菜单项。
CreatePopupMenu 创建下拉菜单、子菜单或快捷菜单。 菜单最初为空。 可以使用 InsertMenuItem 函数插入或追加菜单项。 还可以使用 InsertMenu 函数插入菜单项,使用 AppendMenu 函数来追加菜单项。
DeleteMenu 从指定菜单中删除项。 如果菜单项打开菜单或子菜单,此函数将销毁菜单或子菜单的句柄,并释放菜单或子菜单使用的内存。
DestroyMenu 销毁指定的菜单并释放菜单占用的任何内存。
DrawMenuBar 重新绘制指定窗口的菜单栏。 如果在系统创建窗口后菜单栏发生更改,则必须调用此函数来绘制更改的菜单栏。
EnableMenuItem 启用、禁用或灰显指定的菜单项。
EndMenu 结束调用线程的活动菜单。
GetMenu 检索分配给指定窗口的菜单的句柄。
GetMenuBarInfo 检索有关指定菜单栏的信息。
GetMenuCheckMarkDimensions 检索默认复选标记位图的尺寸。 系统在所选菜单项旁边显示此位图。 在调用 SetMenuItemBitmaps 函数以替换菜单项的默认复选标记位图之前,应用程序必须通过调用 GetMenuCheckMarkDimensions来确定正确的位图大小。
GetMenuDefaultItem 确定指定菜单上的默认菜单项。
GetMenuInfo 检索有关指定菜单的信息。
GetMenuItemCount 检索指定菜单中的项数。
GetMenuItemID 检索位于菜单中指定位置的菜单项的菜单项标识符。
GetMenuItemInfo 检索有关菜单项的信息。
GetMenuItemRect 检索指定菜单项的边界矩形。
GetMenuState 检索与指定菜单项关联的菜单标志。 如果菜单项打开子菜单,此函数还会返回子菜单中的项数。
GetMenuString 将指定菜单项的文本字符串复制到指定的缓冲区中。
GetSubMenu 检索由指定菜单项激活的下拉菜单或子菜单的句柄。
GetSystemMenu 使应用程序能够访问窗口菜单(也称为系统菜单或控件菜单),以便复制和修改。
HiliteMenuItem 突出显示或删除菜单栏中的项中的突出显示。
InsertMenuItem 在菜单中的指定位置插入新菜单项。
IsMenu 确定句柄是否为菜单句柄。
LoadMenu 从与应用程序实例关联的可执行文件(.exe)文件加载指定的菜单资源。
LoadMenuIndirect 在内存中加载指定的菜单模板。
MenuItemFromPoint 确定位于指定位置的菜单项(如果有)。
ModifyMenu 更改现有菜单项。 此函数用于指定菜单项的内容、外观和行为。
RemoveMenu 删除菜单项或从指定菜单中分离子菜单。 如果菜单项打开下拉菜单或子菜单,RemoveMenu 不会销毁菜单或其句柄,从而允许重复使用菜单。 调用此函数之前,GetSubMenu 函数应检索下拉菜单或子菜单的句柄。
SetMenu 将新菜单分配给指定的窗口。
SetMenuDefaultItem 设置指定菜单的默认菜单项。
SetMenuInfo 设置指定菜单的信息。
SetMenuItemBitmaps 将指定的位图与菜单项相关联。 无论选择菜单项还是清除菜单项,系统都显示菜单项旁边的相应位图。
SetMenuItemInfo 更改有关菜单项的信息。
TrackPopupMenu 在指定位置显示快捷菜单,并跟踪菜单上的项选择。 快捷菜单可以在屏幕上的任意位置显示。
TrackPopupMenuEx 在指定位置显示快捷菜单,并跟踪快捷菜单上的项选择。 快捷菜单可以在屏幕上的任意位置显示。

以下函数已过时。

名字 描述
InsertMenu 将新菜单项插入到菜单中,将其他项向下移动。 注意:InsertMenu 函数已被 InsertMenuItem 函数取代。 但是,如果不需要 InsertMenuItem的任何扩展功能,仍可以使用 InsertMenuItem
名字 描述
WM_COMMAND 当用户从菜单中选择命令项、控件将通知消息发送到其父窗口或转换加速键时发送。
WM_CONTEXTMENU 通知窗口用户单击窗口中的鼠标右键(右键单击)。
WM_ENTERMENULOOP 通知应用程序的主窗口过程已输入菜单模式循环。
WM_EXITMENULOOP 通知应用程序的主窗口过程,菜单模式循环已退出。
WM_GETTITLEBARINFOEX 发送到请求扩展标题栏信息。 窗口通过其 WindowProc 函数接收此消息。
WM_MENUCOMMAND 当用户从菜单中选择内容时发送。
WM_MENUDRAG 当用户拖动菜单项时,发送给拖放菜单的所有者。
WM_MENUGETOBJECT 当鼠标光标进入菜单项或从项中心移动到项的顶部或底部时,发送到拖放菜单的所有者。
WM_MENURBUTTONUP 当用户在光标位于菜单项上时释放鼠标右键时发送。
WM_NEXTMENU 当使用向右键或向左键在菜单栏和系统菜单之间切换时发送到应用程序。
WM_UNINITMENUPOPUP 当下拉菜单或子菜单被销毁时发送。
名字 描述
MDINEXTMENU 包含有关要激活的菜单的信息。
MENUBARINFO 包含菜单栏信息。
MENUEX_TEMPLATE_HEADER 定义扩展菜单模板的标头。 此结构定义仅用于说明;它不存在于任何标准头文件中。
MENUEX_TEMPLATE_ITEM 在扩展菜单模板中定义菜单项。 此结构定义仅用于说明;它不存在于任何标准头文件中。
MENUGETOBJECTINFO 包含有关鼠标光标所在的菜单的信息。
MENUINFO 包含有关菜单的信息。
MENUITEMINFO 包含有关菜单项的信息。
MENUITEMTEMPLATE 在菜单模板中定义菜单项。
MENUITEMTEMPLATEHEADER 定义菜单模板的标头。 完整的菜单模板由标题和一个或多个菜单项列表组成。
TPMPARAMS 包含 TrackPopupMenuEx 函数的扩展参数。