我使用此代码: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;
如何组合这两个代码?奇怪的是,当我运行项目时,我可以看到控件第一次正确重绘,但是所有数据都丢失了,没有完成绘图。
答案 0 :(得分:2)
@Rohit Gupta:实际上合并这两个代码非常容易:只需将第二个代码放入第一个代码并重命名类:)
我做了这个,但是代码没有用 - 绘制控件导致软件冻结,我无法解决这个问题,这就是我寻求帮助的原因。
@Warren P:你是对的,更好的是创建处理一切的自定义控件。
我创建了自己的控件,基本上是 TEdit 与所有者绘制, TListBox 与所有者绘制和 TSpeedButton 工作正常:
我现在需要做一些调整,完成控制将在我的博客上提供。
如果有人有兴趣,请稍后在http://unsigned.sk/blog/抓住(我会在完成后发表评论)。
感谢所有想法!