当前位置:首页 > 技术心得 > 正文内容

ComboBox自绘异常与DrawItem不响应等问题

xjtudll4年前 (2022-04-20)技术心得8380

https://blog.csdn.net/wghhdzwzqbx02/article/details/7277937

   对于ComboBox而言,虽然与Button相比,自绘都在DrawItem函数中进行,但是实际自绘过程远比Button复杂。原因之一就在于它本身的复杂度:它由三个控件组成(CEdit,CListBox,CButton)。而且在自毁过程中极易发生各种问题,现在总结如下:

  一、CComboBox的AddString函数异常

  原因:可能属性未设置正确。

  需要设置Owner Draw属性:这个属性有三个选项:No(不采用任何自绘),Fixed(固定属性的列表高度和宽度),Variable(改变列表的高度和宽度).最直白的理解分别是:不响应DrawItem()、响应DrawItem(不响应MeasureItem)、响应MeasureItem(也响应DrawItem)。也就是说,需要将三个风格严格对应起来。

43c9b8ce-99ff-4778-aa85-e8fb559aae53

  二、自定义CComboBox不经过DrawItem函数

  原因:同上。

  三、CComboBox的GetLBText函数取到空的字符串问题。

  原因:可能是属性未设置正确:Has Strings属性有没有选上。如果没有选上该属性,即使调用了AddString函数,也在无法调用GetLBText函数来获取字符串。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/642/

标签: C#
分享给朋友:

“ComboBox自绘异常与DrawItem不响应等问题” 的相关文章

win7怎样彻底删除打印机驱动

win7怎样彻底删除打印机驱动

https://zhidao.baidu.com/question/1802002455667765027.html 1、开始---设备和打印机:随便选择一个打印机图标,选择打印机服务器属性; 2、单击打印服务器属性---驱动程序---删除,选择删除驱动程序和驱动程序包,点确定; 3、无法删除...

3DMax9注册机激活:REQUEST CODE ERROR!

在安装3Dmax9的时候,使用了安装包自带的注册机,但是每次算序列号时,都提示REQUEST CODE ERROR!。换了几个版本的安装包,都是这个现象。 网上仔细搜索了一番,找到了原因。正确的破解步骤如下: 1、把3dmax 9注册机拷贝到3dmax 9的安装目录下(不要启动3dmax 9)...

略坑的STM8L IO外部中断

略坑的STM8L IO外部中断

问题: STM8的GPIO中断,如何判断是哪一个IO中断的? STM8只有一个总的GPIOX(ABCDE)中断,怎么判断是哪个引脚呢? 解决办法: 在设计硬件电路的时候就要注意这个问题,能分散开的就分散开。 至于有的人说的在中断中查询IO电平来判断是哪个IO,那是有缺陷的 例如,一个上升沿中断,脉...

ZBlog 1.8 ASP转PHP

ZBlog 1.8 ASP转PHP

ZBlog 1.8 ASP转PHP版本过程第一步:将ZBlog升级到2.x版本,因为只有2.x才支持【ZBlog PHP转换工具】需要注意的是:官方下载最新的ASP版本里面没有zb_update18to20这个文件夹,需要从GitHub(https://github.com/zblogcn/zblo...

电容主要技术参数

电容主要技术参数

1、标称容值及误差 标称值符合E系列。 2、额定工作电压 电容器中的电介质能够承受的电场强度是有限的,当施加在电容器上的电压超过一定值时,电介质有可能被击穿而损坏。额定工作电压是指,在规定的工作温度范围内,电容器在电路中连续工作而不被击穿的加在电容器上的最大有效值,习惯上叫电容器的耐压。 额定电压通...

OKI单片机-如何查看编译后的汇编代码

OKI单片机-如何查看编译后的汇编代码

使用OKI单片机时,有几种情况需要看汇编代码: 1、精确延时,这个用C基本上无法实现; 2、用汇编编程,但某部分程序用汇编写感觉有难度。此时先用C编写,然后查看其汇编代码,借鉴一二。 有两种方式可以看到编译后的汇编代码: 1、程序编译完成后,编译器自动生成各C文件的汇编代码 (1)能看到绝大部分汇编...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。