博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自绘制listbox
阅读量:7243 次
发布时间:2019-06-29

本文共 748 字,大约阅读时间需要 2 分钟。

hot3.png

要想在ListBox或者ListCtrl等控件中绘制你想要的图形或者设置你想要的属性,那么必须采用自绘的方式。大致步骤如下:

    1、添加一个LISTBOX控件,将其Owner Draw属性改为“FIXED”或者“VARIABLE”,前者是指每个Item的高度一样,后者可以单独对每一个Item的高度设置,并可以为不同的 Item设置不同的属性。此外,还需要将Has Strings的属性设置为TRUE。
    2、建立一个断承CListBox的类COwnerListBox,重载(Override)它的几个函数。主要是DrawItem和 MeasureItem两个函数。其他的函数可以参见MSDN。
    3、MeasureItem中主要是设置这个ListBox的属性。而DrawItem主要是自己画每一个Item.
    4、如果LISTBOX控件选择了“FIXED”属性后不做任何修改,那么用AddString等函数添加的子项将不会被系统自动显示,原因是用户选 择了自绘属性。这个属性由COwnerListBox里的DrawItem和MesureItem函数完成。DrawItem用来绘制子项 目,MesureItem用来修改项目的一些属性(一般不用更改)。
完成上述步骤后,即可看见更改后的LISTBOX,另外按钮等其他控件步骤与思想是大同小异的。
手动创建:
m_UserList.Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|LBS_NOTIFY|LBS_OWNERDRAWFIXED, CRect(0,0,100,100), this, IDC_GP_USER_LIST);

转载于:https://my.oschina.net/u/3773235/blog/1616707

你可能感兴趣的文章
移动端js事件
查看>>
前端学习笔记------多张图片生成canvas思路.md
查看>>
Mysql主从同步实战(一)【知其然】
查看>>
用PWA来做一个天气应用
查看>>
js中的||与&&用法
查看>>
在线BASE64加密解密、UrlEncode编码/解码、native/ascii在线转换工具 -toolfk程序员工具网...
查看>>
重新认识RxJava系列之订阅流程源码分析
查看>>
Yarn小白入门
查看>>
IP地址
查看>>
【译】什么是SOLID原则(第1部分)
查看>>
07-jvm-查询命令-02
查看>>
Spring xml命名空间
查看>>
Java的值传递和引用传递
查看>>
DryRun神器
查看>>
LeeTCode 121 Best Time to Buy and Sell Stock 股票买卖最佳时间
查看>>
快速制作美观的微信公共号二维码?
查看>>
(十二)JAVA springboot ssm b2b2c多用户商城系统源码:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪...
查看>>
云数据库POLARDB产品解读之二:如何做到高性价比
查看>>
直击KubeCon 2018 |云原生正在改变你的衣食住行
查看>>
拦截器
查看>>