1625-5 王子昂 总结《2018年1月10日》 【连续第467天总结】
A. Windows消息系统-菜单消息
B.
概述
- 系统菜单
系统菜单位于窗口标题栏,单击左上角的图标就可以打开系统菜单
内容一般包括还原、移动、大小、最大化、最小化和关闭 - 主菜单
主菜单,或者叫顶层菜单,位于标题栏下方
主菜单由一个或者多个弹出式菜单构成,每个弹出式菜单又可以包含一个或多个弹出式菜单或菜单项
- 弹出式菜单
又叫子菜单或下拉式菜单,包含一个或多个弹出式菜单或菜单项 - 菜单项
非弹出式菜单,每个菜单项都有一个ID。在程序中用ID_*****或IDM_*****定义,实际上ID是一个DWORD型的整数。
在菜单操作中,只有菜单项才有ID,当选中弹出式菜单或快捷菜单中某个菜单项后,Windows会向应用程序发送WM_INITMENU、WM_MENUSELECT、WM_COMMAND(非系统菜单)、WM_SYSCOMMAND(系统菜单)消息
- 弹出式菜单
菜单消息
WM_INITMENU
菜单初始化消息
wParam表示主菜单句柄,lParam=0
单击任何一个菜单或菜单项都会发出WM_INITYMENU消息
WM_MENUSELECT
菜单选择消息
wParam的低位表示选中项的菜单ID或菜单句柄,高位则为选择标志
lParam包含了选中项的菜单句柄