В Инспекторе Объектов я пытаюсь получить раскрывающийся список для моего перечислимого типа...
Для этого вам необходимо создать собственный редактор свойства. Ниже приведен его простой пример:
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] ofstring[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;
beginfor 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;
beginfor i := Low(TBaudRate) to High(TBaudRate) doif BaudList[i] = Value thenbegin
SetOrdValue(integer(i));
EXIT;
end;
inherited SetValue(Value);
end;
Статья Использование перечислимых констант раздела Компоненты и Классы Свойства и События может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.