WM_NOTIFY.doc_第1页
WM_NOTIFY.doc_第2页
WM_NOTIFY.doc_第3页
WM_NOTIFY.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大家也许熟悉WM_NOTIFY,控件通过WM_NOTIFY向父窗口发送消息。在WM_NOTIFY消息体中,部分控件会发送NM_CUSTOMDRAW告诉父窗口自己需要绘图。 可以反射NM_CUSTOMDRAW消息,如: ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw) afx_msg void OnCustomDraw(NMHDR *pNMHDR, LRESULT *pResult); 参数: pNMHDR 说到底只是一个指针,大多数情况下它指向一个NMHDR结构对象,NMHDR结构如下: typedefstructtagNMHDR HWNDhwndFrom; UINTidFrom; UINTcode; NMHDR;其中: hwndFrom 发送方控件的窗口句柄 idFrom 发送方控件的ID code 通知代码 对于某些控件来说,pNMHDR则会解释成其它内容更丰富的结构对象的指针,如:对于列表控件来说,pNMHDR常常指向一个NMCUSTOMDRAW对象,NMCUSTOMDRAW结构如下: typedefstructtagNMCUSTOMDRAWINFO NMHDRhdr; DWORDdwDrawStage; HDChdc; RECTrc; DWORDdwItemSpec; UINTuItemState; LPARAMlItemlParam; NMCUSTOMDRAW,FAR*LPNMCUSTOMDRAW; hdr NMHDR对象 dwDrawStage 当前绘制状态,其取值如表7所示:类型值含义 CDDS_POSTERASE擦除循环结束 CDDS_POSTPAINT绘制循环结束 CDDS_PREERASE准备开始擦除循环 CDDS_PREPAINT准备开始绘制循环 CDDS_ITEM指定dwItemSpec, uItemState, lItemlParam参数有效 CDDS_ITEMPOSTERASE列表项擦除结束 CDDS_ITEMPOSTPAINT列表项绘制结束 CDDS_ITEMPREERASE准备开始列表项擦除 CDDS_ITEMPREPAINT准备开始列表项绘制 CDDS_SUBITEM指定列表子项表7 dwDrawStage的类型值与含义hdc指定了绘制操作所使用的设备环境。 rc指定了将被绘制的矩形区域。 dwItemSpec 列表项的索引 uItemState 当前列表项的状态,其取值如表8所示:类型值含义 CDIS_CHECKED标记状态。 CDIS_DEFAULT默认状态。 CDIS_DISABLED禁止状态。 CDIS_FOCUS焦点状态。 CDIS_GRAYED灰化状态。 CDIS_SELECTED选中状态。 CDIS_HOTLIGHT热点状态。 CDIS_INDETERMINATE不定状态。 CDIS_MARKED标注状态。表8 uItemState的类型值与含义lItemlParam 当前列表项的绑定数据 pResult 指向状态值的指针,指定系统后续操作,依赖于dwDrawStage: 当dwDrawStage为CDDS_PREPAINT,pResult含义如表9所示:类型值含义 CDRF_DODEFAULT默认操作,即系统在列表项绘制循环过程不再发送NM_CUSTOMDRAW。 CDRF_NOTIFYITEMDRAW指定列表项绘制前后发送消息。 CDRF_NOTIFYPOSTERASE列表项擦除结束时发送消息。 CDRF_NOTIFYPOSTPAINT列表项绘制结束时发送消息。表9 pResult的类型值与含义(一) 当dwDrawStage为CDDS_ITEMPREPAINT,pResult含义如表10所示:类型值含义 CDRF_NEWFONT指定后续操作采用应用中指定的新字体。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论