[ windows程序设计(programing windows) ]
来源:互联网 发布:海量数据备份 编辑:程序博客网 时间:2024/06/05 17:04
本片文章建立在组合框入门的文章之上,将会介绍拥有者绘制组合框。
拥有者绘制组合框在建立时需要包含CBS_OWNERDRAWFIXED风格或者CBS_OWNERDRAWVARIBLE风格。
对于拥有者绘制组合框来说,你需要处理在父窗口处理两个消息,一个是WM_MEASUREITEM消息,这个消息的wParam参数是控件标识符,lParam是一个指向MEASUREITEMSTRUCT结构体的指针,
typedef struct MEASUREITEMSTRUCT { UINT CtlType; UINT CtlID; UINT itemID; UINT itemWidth; UINT itemHeight; ULONG_PTR itemData;} MEASUREITEMSTRUCT;
这个结构体的CtlType是控件类型,有ODT_COMBOBOX,ODT_LISTBOX,ODT_LISTVIEW,ODT_MENU四种,分别代表组合框,列表框,列表视图控件和菜单;
CtlID是控件标识符,只对组合框和列表框有意义;
itemID是项目标识符,只有当风格是CBS_OWNERDRAWVARIBLE,LBS_OWNERDRAWVARIBLE或者是CtlType是ODT_MENU才有意义;
itemWidth,是一个菜单项目的宽度,以像素为单位,程序要指定这个值;
itemHeight,一个独立项目在列表框,组合框或者菜单的高度,以像素为单位,程序要指定这个值;
itemData,对于菜单来说,这个值是程序指定的和菜单项目联系的的值,对于控件来说,这个成员指定上次通过LB_SETITEMDATA或者CB_SETITEMDATA消息分配给组合框或者列表框的值,如果列表框或者组合框有HASSTRINGS风格,那么这个值初始为零。
注:如果风格中带有VARIABLE,那么这个消息会为了每一个项目都发送一次这个消息,否则,只会发送一次。
另一个需要处理的消息是WM_DRAWITEM,wParam参数是控件标识符,lParam参数是DRAWITEMSTRUCT结构体,这部分和之前在讲按钮的时候差不多,我就不多说了,文章链接放上。
以上便是本文的全部内容,欢迎评论。
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- [ windows程序设计(programing windows) ]
- windows 程序设计
- Windows程序设计
- Windows程序设计
- Windows 程序设计
- Windows程序设计
- Windows程序设计
- WINDOWS程序设计
- 在jsp中引用js文件汉字显示为乱码解决方法
- c++学习笔记——细节关键点
- 浅谈希尔排序
- ubuntu14.04安装caffe过程,无CUDA。
- java 适合于restful规则的http通信
- [ windows程序设计(programing windows) ]
- lwIP协议栈timeouts->next->time赋值导致BusFault异常的解决办法
- SSL协议详解
- /lib /usr/lib /usr/local/lib的简单区分
- 【Unity&C#&数组】如何创建一个存放任何类型变量的数组
- Laravel 实践之路: 数据库迁移与数据填充
- Hadoop 框架理解
- c++ fstream, ifstream, ostream
- android之改变编码格式