让人迷惑的Custom Draw与Owner draw
来源:互联网 发布:mysql启动命令 编辑:程序博客网 时间:2024/04/30 03:34
最近忙于美化界面,然而wince上面提供的功能比桌面上要少的多,网上可供选择的控件也少的可怜(后来发现还是有些的,没有调研就没有发言权啊!:()。好在功夫不负有心人,借鉴别人的代码,也给我倒腾出带图片的按钮、不规则形状按钮、可在每行中显示图片的listctrl。希望最近有时间可以把这些整理出来写成博客,这次先不提这。这里要说的让人迷惑的Custom Draw与Owner draw。
可能有不少人对于这两个概念不怎么了解,或者没有听说过,更不用说它们有什么区别了!不幸的是,我之前也是其中一个...从字面上来看,custom draw应该可以解释成定制式的绘制,而owner draw可以表达为自定义绘制。那么先看看何谓定制?通俗的说,就是
- 改变控件的某些属性(控件的背景色),然后让windows来处理绘制的工作。
- 只想自己绘制控件的某些部分,让windows来处理其他的部分。
- 完全自己来绘制整个控件,那么告诉windows什么都不用做。
那么custom draw如何绘制和通知windows你的决定呢?这就必须要处理NM_CUSTOMDRAW消息。接收该消息的函数原型如下:
void OnCustomdrawMyList ( NMHDR* pNMHDR, LRESULT* pResult )
其中参数pNMHDR包含有控件的窗口句柄,id等,当然重要的是包含了当前所处的绘制阶段信息,总共有4个阶段:
- 画之前
- 画之后
- 擦除之前
- 擦除之后
可能你觉得奇怪,这就结束了?本来我是打算根据看的博客原文详细翻译成中文的,可惜被抢先了。那么不如只概要的总体上描述,毕竟不管原文还是翻译的文章都比较长。有兴趣深究的可以看下面的链接:
原文:http://www.codeproject.com/KB/list/lvcustomdraw.aspx?msg=875581
翻译:http://blog.csdn.net/dylgsy/article/details/818550
引用原文地址:http://blog.csdn.net/ryanzll/article/details/7294379
0 0
- 让人迷惑的Custom Draw与Owner draw
- 让人迷惑的Custom Draw与Owner draw
- 让人迷惑的Custom Draw与Owner draw
- Custom draw 和 Owner draw 的区别
- Custom draw vs Owner draw
- 关于ListCtrol的owner-draw和custom-draw
- OWNER DRAW / CUSTUM DRAW
- owner draw
- Combobox的owner draw问题
- Custom Draw
- Custom Draw
- CListCtrl的Owner Draw Fixed属性
- MFC CComboBox 的Owner Draw属性
- Owner-draw list view
- CListCtrl Custom Draw的消息映射
- Custom Draw services
- Neat Stuff Custom Draw
- Custom Draw ListView Control
- 编写一组函数,实现位数组
- FPGA学习笔记 Verilog HDL语句(基础)
- 环回地址的介绍
- MFC中使用ADO访问Oracle数据库
- python下setuptools安装
- 让人迷惑的Custom Draw与Owner draw
- 足球课的意外收获
- c语言实现简单的udp传输( c/s 模型)
- putty连接到centos的open ss server
- Linux kernel source build error
- sqlite3出错
- PHP中用set_time_limit(0)长连接的实现
- 不用加减乘除实现加法运算
- VS之Excel文件操作