Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как для свойства типа перечисление отобразить НЕ ВСЕ элементы [Win2k]


testpu ©   (2002-09-21 20:47:00) 

Пример: свойство BorderStyle для формы может принимать одно из следующих значений bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin. То же свойство для TEdit принимает только два значения bsNone, bsSingle.
Если я наследую свой класс от TEdit, то в окне Property выпадающий список состоит из двух значений, а если от TCustomEdit, то выпадающий список включает в себя все допустимые значения (6 шт.), а мне нужно только 2. Теоритически я понимаю, что что-то нужно делать с TEnumProperty, но в исходниках компонентов я ничего такого не нашел. Знающие люди, подскажите, что нужно делать?


Юрий Зотов   (2002-09-21 21:28:00) [1]

У формы и Edit это РАЗНЫЕ типы:

Форма:
TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin);

Edit:
TBorderStyle = bsNone..bsSingle;

Можно (и нужно) пойти тем же путем. Если же написать свой редактор, недопустимое значение можно будет присвоить в run-time. С вытекающими ошибками.

А TEnumProperty надо искать не в исходниках компонентов, а в модуле DsgnIntf. Там же подробные комментарии и куча примеров.


Наверх

Титульная страница Поиск, карта сайта Написать письмо