Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 4. Jul 2003, 11:52
Dazu musst Du einen Property-Editor schreiben und registrieren. Hier ein kleines Beispiel, aber leider nicht die Zeit, es großartig zu erklären.

In der Procudure Register, in welcher Du Deine Komponente registrierst, musst Du nach deren Registrierung den Editor registrieren.
Delphi-Quellcode:
// Beispiel
  RegisterPropertyEditor(TypeInfo(String), TMeineKomponente,
      'MeineAuswahl', TComponentMeineAuswahlEditor);
Hier noch die Klasse des Editors:
Delphi-Quellcode:
type
  TComponentMeineAuswahlEditor = class(TStringProperty)
  public
    procedure GetValues(Proc: TGetStrProc); override;
    function GetAttributes: TPropertyAttributes; override;
  end;

function TComponentMeineAuswahlEditor.GetAttributes: TPropertyAttributes;
begin
  // the property editor will provide a sorted list of possible values
  Result := [paValueList, paSortList];
end;

procedure TComponentMeineAuswahlEditor.GetValues(Proc: TGetStrProc);
begin
  // for each possibility call proc with the string
  Proc('Wert 1');
  Proc('Wert 2');
  Proc('Wert 3');
  Proc('Wert 4');
  Proc('Wert 5');
  Proc('Wert 6');
end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat