owner draw

本文介绍了自绘控件的基本概念及实现方式。通过设置Owner draw属性,开发者可以让系统发送WM_DRAWITEM消息给CButton类,从而自定义按钮的外观。文章还提到了WM_MEASUREITEM消息的作用,并强调了熟悉绘图技术的重要性。

    一般情况下,按钮的绘制工作是由相同完成的,但是有时我们觉得系统绘制的效果太单调,想使自己的按钮与众不同,这时你可以选中控件的Owner draw属性。选择了这个属性后,系统便不再绘制该控件,而是当需要显示控件时,系统会发送WM_DRAWITEM消息给CButton类(对于SDK编 程,消息通常是发给父窗口)。对于其他控件,如ListBox,系统在发送WM_DRAWITEM消息前,还发送WM_MEASUREITEM消息,主要 是让你设置ListBox中每个项目的高度。与绘制无关的工作,如键盘、鼠标的操作,窗口的滚动等,仍然由系统负责,这样比自己从头编写一个控件要简单地 多,特别是对于ListView、TreeView这样的复杂的控件。要掌握好自绘控件,主要是对于绘图要熟悉,如果你还没有掌握绘图,那么先别学习自 绘。在VC的帮助中关于CButton::DrawItem部分有一个例子可以参考一下。

 

转自:http://hi.baidu.com/%CD%AC%D6%AE%D6%F7/blog/item/1af729c4682c7fcd38db49f3.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值