当然,您知道在设计时使用ImageList和ImageIndex属性即可在对象检查器中轻松进行操作。分配Imagelist后,您可以单击ImageIndex属性,然后会出现带有索引的漂亮图像列表。
我正在尝试制作自己的控件,该控件具有imagelist和imageindex属性。但是我想知道,如何让对象检查器“知道”(或使其知道)应该从组合框中获取我定义的imageindex属性。 (内置在对象检查器本身中)
有人知道这个窍门吗?
非常感谢
最佳答案
我从未尝试过这样做,但是我怀疑这会起作用:
在您的组件中,将ImageIndex
属性声明为不是integer
,而是声明为TImageIndex
。
也就是说,写(例如)
private
FImageIndex: TImageIndex;
published
property ImageIndex: TImageIndex read FImageIndex write SetImageIndex default -1;
代替
private
FImageIndex: integer;
published
property ImageIndex: integer read FImageIndex write SetImageIndex default -1;
TImageIndex
定义为type
TImageIndex = type Integer;
因此它实际上是一个整数,但类型不同。
(作为脚注,如果定义是
type
TImageIndex = Integer;
那么
TImageIndex
只是Integer
的另一个名字,因此没有人(甚至是IDE)也无法将TImageIndex
与Integer
区分开。现在它们是两种不同的类型,但是,当然是分配兼容的类型。)