CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

WM_DRAWITEM的消息

楼主wupangzi(无本之木)2006-08-05 17:49:13 在 VC/MFC / 基础类 提问

请问  
  1)如何发送一个WM_DRAWITEM   的消息?  
  2)什么操作会促使发送一个WM_DRAWITEM   消息?  
  3)怎么样可以在任意时刻获得DRAWITEMSTRUCT的结构信息。 问题点数:100、回复次数:7Top

1 楼SoLike(思危)回复于 2006-08-05 17:52:21 得分 50

1、2  
  控件被设置Owner   Draw(自绘)属性后,在系统需要对其进行绘制时,向它发送   WM_DRAWITEM   消息Top

2 楼SoLike(思危)回复于 2006-08-05 17:54:31 得分 0

3、DRAWITEMSTRUCT   只有在   WM_DRAWITEM   消息处理时才能得到,   你可以通过手动触发重绘来获得。例如通过   RedrawWindow   函数Top

3 楼wupangzi(无本之木)回复于 2006-08-05 21:49:51 得分 0

WM_DRAWITEM的消息怎么发呢?Top

4 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2006-08-05 21:59:51 得分 20

DRAWITEMSTRUCT   DIS;    
  DIS.CtlType   =   ODT_BUTTON;    
  DIS.CtlID   =   GetDlgCtrlID();    
  DIS.itemAction   =   action;   //action为你定义的动作  
  DIS.itemState   =   mode;   //mode为你定义的模式~~~  
  DIS.hwndItem   =   GetSafeHwnd();    
  DIS.hDC   =   GetDC()->GetSafeHdc();    
  GetClientRect(&(DIS.rcItem));    
  SendMessage(WM_DRAWITEM,(WPARAM)GetSafeHwnd(),(LPARAM)&DIS);    
  直接可以通过SendMessage就可以了~~~Top

5 楼cleverwyq(此人三无)回复于 2006-08-05 22:15:45 得分 10

有必要手动发么?Top

6 楼goodboyws(深夜不眠者(VCMVP))回复于 2006-08-05 23:03:16 得分 20

注意一下——WM_DRAWITEM是发给父窗口的,对话框而不是控件Top

7 楼wupangzi(无本之木)回复于 2006-08-06 10:11:14 得分 0

哦!谢谢!Top

相关问题

关键词

得分解答快速导航

  • 帖主:wupangzi
  • SoLike
  • snowbirdfly
  • cleverwyq
  • goodboyws

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo