Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.07;
Скачать: CL | DM;

Вниз

ComboBox   Найти похожие ветки 

 
Evgeny ©   (2002-01-23 08:31) [0]

Имеем такой тип:
TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);
каким образом это можно поместить в ComboBox? Ведь в инспекторе как то это сделано.


 
Rem ©   (2002-01-23 10:29) [1]

Помещаем:
ComboBox.Items.AddObject("alNone", TObject(alNone));
Получаем:
TAlign(ComboBox.Items.Objects[ComboBox.ItemIndex])



 
Evgeny ©   (2002-01-23 13:25) [2]

Все замечательно, но перерыв все исходники, я нигде не нашел ссылки на String. Каким образом Borland это умудрился сделать. Ведь ComboBox как раз и требует строкового представления итема, а они это как то обошли. Но как?
Данный тип:
TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);
я взял просто для примера, но поглядите в инспектор - там полно таких "типов", помещеных в ComboBox. И не на один из них мне не удалось найти строкового соответствия.


 
vlv ©   (2002-01-23 13:46) [3]

Это где-то в RTTI сидит.


 
Юрий Зотов ©   (2002-01-23 13:54) [4]

См. модуль TypInfo, функция GetEnumName.

Пример:

type
TMyEnumType = (Ident0, Ident1, Ident2);

Вызов
GetEnumName(TypeInfo(TMyEnumType), 1)
возвращает строку "Ident1".

Вот и весь секрет.


 
Evgeny ©   (2002-01-24 11:14) [5]

Понял, спасибо.



Страницы: 1 вся ветка

Текущий архив: 2002.02.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-18815
AlexR_R
2002-01-22 17:53
2002.02.07
Где взять combobox c историей


7-19003
Dann
2001-11-02 02:15
2002.02.07
Памогите пожалуйсто . Как узнать общее количество установленной и свободной оперативной память?


1-18832
vlv
2002-01-21 21:07
2002.02.07
Количество значений в наборе


1-18863
dim2001
2002-01-22 21:44
2002.02.07
Как распечатать StringGrid на лазерном принтере?


1-18849
well
2002-01-22 13:09
2002.02.07
Вопрос по TTreeViev (TTreeNode)