我正在使用 JvInspector 来允许编辑我的类的属性。TColor 属性在 JvInspector 编辑器中显示为“clRed”等,并且很乐意接受类似输入的颜色名称。我真的想要与 TFont 旁边出现的相同功能,其中有一个省略号按钮可以打开 TFontDialog - 对于 TColor 属性,我想要一个 TColorDialog (或我自己的一个)。我看到 JvInspector 如何通过特定编辑声明 TJvInspectorFontItem 但我不知道如何告诉检查员来找我进行 TColor 编辑 - 我希望看到一个可以添加我的 TColor 类型和我的新编辑功能的寄存器.
从这个 SO 问题中采取的解决方法如下给我“点击”功能,我可以用它来打开 TColorDlg,但它对用户来说并不直观,而且不如省略号按钮解决方案好。
procedure TSimpleMainForm.ItemClick(ASender: TObject);
begin
ShowMessage(JvInspector1.Selected.Name); // << my edit would go here
Abort; // don't change the value by the default double click handler
end;
procedure TSimpleMainForm.JvInspector1BeforeEdit(Sender: TObject;
Item: TJvCustomInspectorItem; Edit: TCustomEdit);
begin
TEdit(Edit).OnClick := ItemClick;
end;
任何人都可以帮助或指出合适的文件吗?谢谢