如何更新Delphi对象检查器?

以下是我最近发布的这个问题:可以在多个组件上执行组件编辑器吗?

我为一个新组件创建了一个ComponentEditor,它在执行时显示一个TOpenDialog来选择一个配置文件。 加载文件时,我读取数据并将值复制到调用组件(因为它是TComponentEditor,因此它是Component )。

除了Object Inspector未更新以反映新更改的值之外,完全没有任何问题 - 只有在Designer中单击组件时才更新。

这看起来可能不是什么大事,但我需要Object Inspector以某种方式更新自己,以便我可以看到属性已成功更改(无需将焦点切换回控件)。

那么,有没有让Delphi知道它应该更新/刷新Object Inspector的方法? 一世


根据需要修改组件后,组件编辑器需要调用IDesigner.Modified()方法,例如:

procedure TMyComponentEditor.ExecuteVerb(Index: Integer);
var
  Dlg: TOpenDialog;
begin
  ...
  Dlg := TOpenDialog.Create(nil);
  try
    ...
    if Dlg.Execute then
    begin
      ...
      Designer.Modified;
    end;
  finally
    Dlg.Free;
  end;
  ...
end;
链接地址: http://www.djcxy.com/p/63135.html

上一篇: How to update the Delphi Object Inspector?

下一篇: VirtualTreeView: properly handling selection changes