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

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

caption


race1 ©   (2004-11-09 11:49:00) 

я хочу изменить caption у как можно большего кол-ва контролов. в идеале было бы хорошо приводит все контролы к TControl и брать у него Caption. но когда я присваиваю этому заголовку значение компилер ругается что нет доступа к этому св-ву.

и если приведение TEdit'а к TButton'у и установка у него Caption (TButton(editcoontrol).Caption := "my cap") работает, то с TRadioButton'ом такое уже не прокатит :(

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


race1   (2004-11-09 12:24:00) [1]

>ЮЮ
красиво, спасибо!


ЮЮ   (2004-11-09 12:11:00) [2]

Просто TControl.Caption - protected.
И для доступа к protected свойствам и метода следует объявить класс-наследник в своем модуле и приводя к его типу использовать их:
type
 TControlAccess = class(TControl);
...
 if Sender is TControl then
   TControlAccess(Sender).Caption := 'my cap';


race1   (2004-11-09 11:54:00) [3]

>[1]
я сначала написал код, потом вижу, что такое приведение появилось, и что главное, оно работает :) я не специально так делал, честно


TUser   (2004-11-09 11:52:00) [4]


> и если приведение TEdit'а к TButton'у

Ой.


Наверх

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