Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Records im TJvInspector (https://www.delphipraxis.net/153323-records-im-tjvinspector.html)

Codewalker 29. Jul 2010 11:12

Records im TJvInspector
 
Ich spiele gerade mit dem TJvInspector rum und habe schon gemerkt, dass er mächtig ist, aber auch schwer zu handhaben ist (mangels Dokumentation). Da Delphi Records nicht mit Lautzeit-Typinformationen ausstattet, kann man sie nicht so einfach über den Inspector einstellen. Ich würde jetzt gerne selber im Inspector etwas bauen, was so ähnlich aussieht, wie für TFont: Ein Editor (also der Knopf mit den 3 Punkten) und gleichzeitig aufklappbar machen, um dort die Eigenschaften einstellen zu können.

Frage ist: Wie genau muss man die eigene Klasse anlegen, damit das geht? Und wie registriere ich diese dann für den Inspector?

Aktuell sieht es so aus:
Delphi-Quellcode:

  TAndorraColorEditor = class(TJvInspectorClassItem)
  protected
    function GetDisplayValue: string; override;
    procedure Edit; override;
  public
    constructor Create(const AParent: TJvCustomInspectorItem; const AData: TJvCustomInspectorData); override;
  end;

{...}

constructor TAndorraColorEditor.Create(const AParent: TJvCustomInspectorItem; const AData: TJvCustomInspectorData);
begin
  inherited;
  RenderAsCategory := True;
  CreateMemberItems := False;
end;

procedure TAndorraColorEditor.Edit;
begin
  inherited;

end;

function TAndorraColorEditor.GetDisplayValue: string;
begin
  Result := '(TAndorraColor)';
end;

initialization
  tf.Kind := tkRecord;
  tf.Name := 'TAndorraColor';
  TJvCustomInspectorData.ItemRegister.Add(TJvInspectorTypeInfoRegItem.Create(TAndorraColorEditor, @tf)); // <- geht so schonmal nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz