Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как сделать текстовый список всех доступных свойств перечисляемого типа?

01.01.2007
Sen

Мне нужно получить список строк (типа как в StringList) с возможными значениями свойства TBrushStyle (например, bsSolid, bsClear, bsHorizontal). Я хочу создать ComboBox с этими параметрами. Как я могу установить свойство Items моего ComboBox напрямую со всеми значениями перечислимого типа TBrushStyle? Мой ComboBox будет похож на редактор свойств этого типа.

Для этого вы можете использовать информацию времени выполнения (runtime type information, RTTI).

Ниже приведен пример:

uses 
  {...}, TypInfo

procedure BrushStylesAsStrings(AList: TStrings);
var
  a: integer;
  pInfo: PTypeInfo;
  pEnum: PTypeData;
begin
  AList.Clear;
  pInfo := PTypeInfo(TypeInfo(TBrushStyle));
  pEnum := GetTypeData(pInfo);
  with pEnum^ do
  begin
    for a := MinValue to MaxValue do
      AList.Add(GetEnumName(pInfo, a));
  end;
end; 
Previous page:
Копирование свойств одного компонента другому
Top:
DRKB
Next page:
Как получить строковое значение перечисляемого типа?