MFC重绘系统ComboBox
-
- 软件环境
- 实现功能
- 实现原理
-
- ComboBox属性设置
- 技术要点
- 效果
-
- DropDown
- DropList
- Disable Window
软件环境
- Windows 10 1809 64bit
- VS2017 Enterprise
- MFC
实现功能
- 重绘ComboBox
- 添加删除按钮
- 自适应下拉List的宽度
- 记录最后一次ComboBox的窗口文本
实现原理
ComboBox属性设置
- 重载ComboBox CompareItem/DrawItem
- Owner Draw 设置为 Fixed
- Has Strings 设置为 True
- Type 设置为 DropDown/DropList
技术要点
-
PreSubclassWindow: 设置ListBox的GWLP_WNDPROC
获取ListBox上的鼠标信息 - OnCbnDropdown: 自适度下拉宽度
- OnPaint: ComboBox自绘
- DrawItem: 绘制下拉选项,删除图标
效果
DropDown
Disable Window

代码:
https://github.com/Lulixue/RedrawSystemComboBox
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!