2

我正在使用 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;

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

4

1 回答 1

1

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

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

于 2013-01-27T19:18:26.613 回答