Thema: Delphi Records im TJvInspector

Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Records im TJvInspector

  Alt 29. Jul 2010, 11:12
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
  Mit Zitat antworten Zitat