如何使用TJvInspector获取更改的项目,其中项目是TStrings?

问题描述 投票:0回答:1

我想知道何时使用TJvInspector更改了组件。 OnDataValueChanged事件在大多数情况下都会触发,但是我有一个具有TStrings值的属性,并且TJVInspector有一个TStrings的注册项目编辑器(TJvInspectorTStringsItem)但是当这个事件发生变化时我看不到如何获得任何通知。 OnDataValueChanged事件永远不会触发,也不会触发任何其他有用的事件。有任何想法吗?

delphi
1个回答
0
投票

我认为这是组件的错误,但我不想编辑JVCS代码。所以我所做的就是创建自己的编辑器和OnChange事件,我可以拿起它。

procedure TFormMain.RegisterMyJvInspectorTypes;
begin
  TJvCustomInspectorData.ItemRegister.Add( TJvInspectorTypeInfoRegItem.Create( TMyInspectorTStringsItem, TypeInfo( TStrings ) ) );
end;

procedure TFormMain.barFileImportBeforeEdit( Sender: TObject; Item: TJvCustomInspectorItem; Edit: TCustomEdit );
begin
  if ( Item is TMyInspectorTStringsItem ) then
    TMyInspectorTStringsItem( Item ).OnChange := OnStringsValueChanged;
end;
© www.soinside.com 2019 - 2024. All rights reserved.