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

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

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

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不响应等问题” 的相关文章

金蝶K3 计划订单批量维护自定义字段处理

现需要在计划订单批量维护报表中增加一自定义字段,然后维护后可以更新到计划订单对应自定义字段中。具体可通过如下操作解决: 1、在计划订单中自定义字段,同时通过SQL查找到该字段在数据库表中的字段名,如为FHeadSelfJ0550。 2、在计划订单批量维护表体中增加自定义字段,字段名改为和计划订...

穆斯林祈祷时间定义

穆斯林每天祈祷五次,时间有规定,需要在一个特定的时间段。五次祈祷分别是:晨礼、晌礼、晡(bū)礼、昏礼和宵礼。如下表所示: 名 称...

TM87系列单片机使用及注意事项

TM87系列单片机使用及注意事项

一、宏的使用 1、.define 可使用在任意地方,但.EQU只能在RAM区和常数区使用。 2、宏调用时,前面必须有空格。否则提示:DUPLICATE LABEL。如图所示。   二、LCD的使用 1、首先,Mask Option里面,LCD要是启用的。不然折腾半天也是瞎折腾。设置Mas...

SQL Server CLR常见错误

1.发布报错:执行 CREATE ASSEMBLY 时失败,因为该程序集是为公共语言用户时的不受支持的版本生成的 SQL SERVER 2008R2 不支持.net4.0, 需要把项目改成.net3.5 部署成功了 2.执行sql报错:禁止在 .NET Framework 中执行用户代码。启用...

CTE递归限制次数

CTE递归限制次数

https://blog.csdn.net/weixin_30247159/article/details/98657005 CTE可以用来取递归,网上资料很多,这里就不再叙述了,今天遇到的需求是要限制只取2级,然后加了个临时的lev with tree as ( select [Cu...

OSAL系统如何写中断服务函数

OSAL系统如何写中断服务函数

参考资料; http://bbs.21ic.com/icview-192248-1-1.html 问题: OSAL添加中断服务程序的时候编译报错 提示:Error[Pa045]: function "T4_ISR" has no prototype 但是定时器中断实验程...

发表评论

访客

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