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