Delphi 带全文搜索和位图的 TComboBox(所有者绘制)

Delphi TComboBox with fulltext search and bitmap (owner draw)

我使用此代码: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;

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

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

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

@Warren P:你是对的,最好是创建处理一切的自定义控件。

我创建了自己的控件,它基本上是 TEdit 和所有者绘制的 TListBoxTSpeedButton 效果很好:

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

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

感谢大家的想法!