Вниз
Скачать: CL | DM;

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

 
race1   (2004-11-09 11:49) [0]

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

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

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


 
TUser ©   (2004-11-09 11:52) [1]


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

Ой.


 
race1   (2004-11-09 11:54) [2]

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


 
ЮЮ ©   (2004-11-09 12:11) [3]

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


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

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



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
1-1099993977
Andry
2004-11-09 12:52
2004.11.21
Сколько страниц напечатал принтер


14-1099563212
Deniz
2004-11-04 13:13
2004.11.21
Delphi7 & Delphi8


1-1099892230
qp
2004-11-08 08:37
2004.11.21
Нужно ли инициализировать динамический массив после выделения пам


14-1099218854
Pat
2004-10-31 13:34
2004.11.21
.NET и драйвера


1-1099729064
Ms.Dunkul
2004-11-06 11:17
2004.11.21
Как изменять мышью размеры форм не bsSizeable




   Наверх