Для этого вам необходимо создать собственный редактор свойства. Ниже приведен его простой пример:
type TBaudRateProperty = class(TStringProperty)publicfunction GetAttributes: TPropertyAttributes; override;procedure GetValues(Proc: TGetStrProc); override;function GetValue: string; override;procedure SetValue(const Value: string); override;end; ... type TBaudRate=(br110,br300,br600,br1200,br2400,br4800,br9600,br14400,br19200,br38400,br56000,br128000,br256000);const 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) doif BaudList[i]= Value then beginSetOrdValue(integer(i));EXIT;end;inherited SetValue(Value);end; |
Надеюсь это поможет.
Dan Miser
Med Data Systems, Inc. [000602]