WM_DRAWITEM消息在组合框,列表框或菜单视觉效果改变时发送到对象的所有者窗口。
一般此消息在控件需要重画时发出,在收到此消息之后控件才会执行重画。如果事先截获此消息
,就可以用自己的代码来重画某一个控件,这就是子类化重画的基本原理。当然,子类化重画还有其他更复杂的细节。
WM_DRAWITEM
idCtl = (UINT) wParam; //控制标识符
lpdis = (LPDRAWITEMSTRUCT) lParam; // 项目绘制信息
wParam(idCtl )
wParam值。指定发送WM_DRAWITEM消息的控件的标识符。如果消息发送的菜单,这个参数是零。
lParam(lpdis )
lParam的值。指向一个DRAWITEMSTRUCT,绘制项目所需的绘图和类型的结构,其中包含的信息。这个参数是指向DRAWITEMSTRUCT结构的指针。在Vb中使用子类化获得的此消息后
如果一个应用程序处理这个消息,它应该返回TRUE。
DefWindowProc函数在列表框条目上绘制焦点矩形。
DRAWITEMSTRUCT结构的itemAction成员指定的绘图应用程序应该执行的操作。
在返回处理这个消息之前,应确保应用程序的设备上下文的hDC成员的DRAWITEMSTRUCT结构是在默认状态下。
Windows NT中:需要3.1或更高版本。
Windows需要Windows 95或更高版本。
Windows CE的:需要1.0或更高版本。
文件头:在WINUSER.H声明。
Copyright 2023 fuwu029.com赣ICP备2022008914号-4