【问题标题】:Delphi TComboBox with fulltext search and bitmap (owner draw)Delphi TComboBox 与全文搜索和位图(所有者绘制)
【发布时间】:2016-01-28 15:24:22
【问题描述】:

我使用此代码:How to make a combo box with fulltext search autocomplete support? 来创建带有搜索功能的自定义 TComboBox 控件。

一切正常,但我决定使用这种方法将位图(图片)添加到其中:ComboBox Simple with Bitmap

但是当我添加第二个代码时,我失去了搜索功能。为了启用所有者绘图,我在构造函数中添加了 csOwnerDrawFixed 样式来控制

constructor TComboBox.Create(AOwner: TComponent);
begin
  ...
  Style := csOwnerDrawFixed; ; << Added to enable owner draw
end;

如何组合这两个代码?奇怪的是,当我运行项目时,我可以看到控件第一次正确重绘,但随后所有数据都丢失了,并且没有完成任何绘图。

【问题讨论】:

  • 我很确定您最好忘记使用 TComboBox 执行此操作,并从头开始制作自己的控件。
  • 您要求其他人检查两个单独的代码,然后猜测您是如何将它们合并在一起的。 :-)

标签: delphi bitmap vcl ownerdrawn


【解决方案1】:

@Rohit Gupta:实际上合并这两个代码很容易:只需将第二个代码放入第一个代码并重命名类:)

我这样做了,但代码不起作用 - 绘制控件会导致软件冻结,我无法解决这个问题,这就是我寻求帮助的原因。

@Warren P:你说得对,最好是创建处理所有事情的自定义控件。

我创建了自己的控件,基本上是 TEdit 与所有者绘制和 TListBox 与所有者绘制和 TSpeedButton 工作正常:

我现在需要做一些调整,完成的控制将在我的博客上可用。

如果有人感兴趣,请稍后在http://unsigned.sk/blog/ 上获取(完成后我会在这里发表评论)。

感谢大家的意见!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 2012-11-12
  • 1970-01-01
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 2018-02-03
相关资源
最近更新 更多