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;
...
...