拥有者绘制菜单和WM_DRAWITEM讯息

【勇芳软件工作室】汉化HomePreviousNext

无论何时必须绘制项目(例如,当它首次显示或用户选择时),Windows会将WM_DRAWITEM消息发送到菜单所有者窗口的窗口过程。此消息包含指向DRAWITEMSTRUCT结构的指针,其中包含有关项目的信息,包括应用程序可能已分配给它的项目数据。此外,DRAWITEMSTRUCT包含指示项目状态的标志(例如是否为灰色或已选中)以及应用程序用于绘制项目的边界矩形和设备上下文。

处理WM_DRAWITEM消息时,应用程序必须执行以下操作:

1.确定必要的图纸类型。为此,请查看DRAWITEMSTRUCT结构中的itemAction成员。

2.使用从DRAWITEMSTRUCT结构获取的边界矩形和设备上下文,适当地绘制菜单项。应用程序必须仅在边框中绘制。出于性能原因,Windows不会剪切在矩形外部绘制的图像部分。

3.恢复为菜单项的设备上下文选择的所有GDI对象。

如果用户选择菜单项,Windows将DRAWITEMSTRUCT结构的itemAction成员设置为ODA_SELECT值,并在ITEMSTATE成员中设置ODS_SELECTED值。这是一个应用程序的提示,重绘菜单项以指示它被选中。