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

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

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

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://www.xjtudll.cn/Exp/642/

标签: C#
分享给朋友:

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

Altium Designer中长方形焊盘的制作

Altium Designer中长方形焊盘的制作

常用的焊盘多为圆形或者正方形。有时候需要制作长方形的,方法如下。 比如下面的一个连接器的封装: 其中的1、2、3脚为长方形,制作方法如下图所示。 放置焊盘后,如下图所示设置:...

聚合物电池的容量如何计算

参考资料: http://www.18650.com.cn/news/15373393.html 1、测量开路电压 电池端电压和剩余容量之间有一个确定的关系,测量电池端电压即可估算其剩余容量。 这种方法的局限是: 1)对于不同厂商生产的电池,其开路电压与容量之间的关系各不相同。 2)只有通过测...

tenx(十速)TM87系列常用宏(一)

tenx(十速)TM87系列常用宏(一) 首先,定义一些寄存器,用于存储临时变量,定义R0到R7为70H~77H,方便LCD显示。定义如下:ORG 70HR0 DN 1R1 DN 1R2 DN 1R3 DN 1R4 DN 1R5 DN 1R6 DN 1R7 DN 1由于累加器AC和状态寄存...

OKI单片机——ML610Q4XX 看门狗

OKI单片机——ML610Q4XX 看门狗

/***********************************************/ * @brief 看门狗初始化 * @details * @param[in] Time :看门狗复位时间 /********************************************...

Word中如何删除多余空格

Word中如何删除多余空格

从网上copy的文章经常会出现多余的空格,手动删除的话工作量极大,如何方便的去除这些多余的空格呢?灵活运用word自带的查找和替换功能即可。 1、删除中文汉字(非数字和字母)后的一个空格 在【查找内容】栏填入:([!0-z\ ])\  《==此处有一空格!!! 在【替换为】栏填入:\...

Protel99SE交互布局

Protel99SE交互布局

我们在PCB布局的时候,如果元件比较多,经常要花大量的时间找元件。一直以来在找寻Protel99SE交互布局的办法,后在网上发现大牛wang1jin写的一篇文章,讲述了Protel99SE交互布局的方法,但其描述了过多的无关内容,因此花了一些时间整理出了此文。 何谓交互布局?实际上通俗的讲,交互布...

发表评论

访客

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