В Инспекторе Объектов я пытаюсь получить раскрывающийся список для моего перечислимого типа... Для этого вам необходимо создать собственный редактор свойства. Ниже приведен его простой пример:
type
TBaudRateProperty = class(TStringProperty) public function GetAttributes: TPropertyAttributes; override; procedure GetValues(Proc: TGetStrProc); override; function GetValue: string; override; procedure SetValue(const Value: string); override; end; ...
BaudList : Array[TBaudRate] of string[7] = ('110','300','600','1200','2400','4800','9600','14400','19200','38400','56000','128000','256000'); {TBaudRateProperty} function TBaudRateProperty.GetAttributes : TPropertyAttributes; begin
Result:=[paValueList];end;
procedure TBaudRateProperty.GetValues(Proc : TGetStrProc); var
i : TBaudRate;begin
for i:=Low(TBaudRate) to High(TBaudRate) do Proc(BaudList[i]);end;
function TBaudRateProperty.GetValue: string; begin
Result := BaudList[TBaudRate(GetOrdValue)];end;
procedure TBaudRateProperty.SetValue(const Value: string); var
i : TBaudRate;begin
for i:=Low(TBaudRate) to High(TBaudRate) do if BaudList[i]= Value then begin SetOrdValue(integer(i)); EXIT; end; inherited SetValue(Value);end;