如何将TColor编辑对话框(例如TColorDlg)添加到JvInspector TColor属性?

时间:2013-01-27 15:43:10

标签: delphi jvcl tcolor

我正在使用JvInspector来编辑我的类的属性。 TColor属性在JvInspector编辑器中显示为“clRed”等,并乐于接受类似输入的颜色名称。我真的想要和TFont一样出现的功能,其中有一个打开TFontDialog的省略号按钮 - 对于TColor属性我想要一个TColorDialog(或我自己的一个)。我看到JvInspector如何通过特定编辑声明TJvInspectorFontItem,但我无法弄清楚如何告诉检查员来找我进行TColor编辑 - 我希望看到一个寄存器,我可以添加我的TColor类型和我的新编辑功能

this SO question获取的解决方法如下给我“点击”功能,我可以用它来打开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;

任何人都可以帮助或指出我合适的文件吗? 感谢

1 个答案:

答案 0 :(得分:1)

这篇文章有一些很好的例子http://www.neugls.info/the-tjvinspector-component-of-jvcl/

在子标题如何制作自己的项目下,有一个颜色对话框的代码示例。