I'm building a simple component that stores the properties of a Tfont. is working properly, but I would like to implement a call to the default editor for the component property. I already searched a lot in Google and here too and tried several things, but, I could not call the 'default editor' programmatically. the component and publisher code follows:

  type TMyPersistentFont = class(TComponent)
  var
    FOwner: TPersistent;
  private
    FProperties: TFont;
    procedure SetProperties(const Value: TFont);
  protected
    function GetOwner: TPersistent; override;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property Properties: TFont read FProperties write SetProperties;
  end;

...

type
  TMyPersistentFontEditor = class(TComponentEditor)
    function GetVerbCount: Integer; override;
    function GetVerb(Index: Integer): string; override;
    procedure ExecuteVerb(Index: Integer); override;
    //
    procedure Edit; override;  
  end;

procedure TMyPersistentFontEditor.ExecuteVerb(Index: Integer);
begin
  inherited;

  case Index of
    0:
begin
  var FontDlg:= TFontDialog.Create(Component);
  FontDlg.Font.Assign(TMyPersistentFont(Component).Properties);
  try
    if FontDlg.Execute then
    begin
      TMyPersistentFont(Component).Properties.Assign(FontDlg.Font);
      Designer.Modified;
    end;
  finally
    FontDlg.Free
  end;
end;

   //TPropertyEditor(TMyPersistentFont(Component).Properties).Edit; //don't works
  end;
end;

Forgive me if I am duplicating the question, but, I really could not find a question that answered my question.

0 Answers