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

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

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

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

BOS单据的单据体字段支持F7选择用户的插件示例代码

https://vip.kingdee.com/article/46700727729979392 Private Sub m_BillInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)...

eclipse显示行号及字体设置

eclipse显示行号及字体设置

1 编辑器显示行号 Windows -> Preferences -> General -> Editors -> Text Editors -> Show line numbers(勾选) 2 显示字体设置 Windows -> Preferences -&g...

电路板上的“黑疙瘩”,里面究竟有什么?

电路板上的“黑疙瘩”,里面究竟有什么?

现在很多日用电子产品都非常便宜,比如计算器、遥控器之类的,它们实在太便宜了,以至于成本控制的过程不允许让生产厂商将每一片芯片都封装好,于是“牛屎片”便产生了。 它的学名叫做COB(Chip On Board),你一定在很多便宜的电子产品中见到它。这种封装形式采用黑色的树脂将...

苹果电脑备份还原Windows操作系统

苹果电脑备份还原Windows操作系统

苹果电脑可以通过BootCamp安装Windows系统(毕竟,有很多“Just For Windows”和“IE Only”的软件和服务--比如国内的网上银行)。但是,苹果电脑的macOSX操作系统及其下的文件可以通过Time Machine备份、还原,通过BootCamp装的Windows系统及其...

Xcode Error:ARC forbids explicit message send of release解决及自定义ARC

Xcode Error:ARC forbids explicit message send of release解决及自定义ARC

首先:Xcode 5中是可以选择是否用ARC的,在有ARC的时候,你完全不需要也不允许做retain,release,你要考虑strong 还是weak。推荐使用ARC。 如果不用ARC,是可以去掉的。在target->build settings里面,有个APPLE LLVM 5.0 La...

Keil得到C编译之后的汇编代码

Keil得到C编译之后的汇编代码

在Options for Target --> Listing标签页下 在C Compiler Listing: \*.lst部分中勾选Assembly Code,这样生成的LST文件中就会包含汇编源码了。 找到相应的lst文件,如图所示: 用记事本打开,里面就有汇编代码了...

发表评论

访客

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