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

Вниз

Как установить свойство Caption?   Найти похожие ветки 

 
tytus   (2006-03-22 16:35) [0]

Добрый день мастера. Создал компонент наследник TCustomControl - кнопка с 3D рамкой и с тремя рисунками, которые меняются OnMouseEnter <>OnMouseLeave и третий рисунок - когда по кнопке был щелчек. Заголовок меняется на этапе разработки, только после нажатия <Enter>. Когда кладу компонент на форму - то надписи на ней нет, и свойство Caption в инспекторе объектов пустое, хотя в конструкторе пишу FCaption:=Name;
Как сделать, чтобы отрисовывался заголовок?


 
Кашперук Иван   (2006-03-22 17:46) [1]

Я так понимаю, что ваш fCaption в Paint не выводится вами.

Поэтому попробую предложить просто вместо fCaption := Name; написать Caption := Name;


 
Юрий Зотов ©   (2006-03-22 18:00) [2]

В конструкторе: ControlStyle := ControlStyle + [csSetCaption]. И все.

И если правильно помню, то поле FCaption - лишнее, в TControl все уже есть.


 
tytus   (2006-03-23 13:34) [3]

>Юрий Зотов [2]
ControlStyle - в норме.
Заголовок на кнопке меняется вслед за изменением свойства Caption в
инспекторе объектов. Но в самомо начале это свойство пустое.
в Paint пишу:
SetBkMode(Canvas.Handle,Transparent);
DrawText(Canvas.Handle,PChar(FCaption),Length(FCaption),clRect,DT_CENTER);


 
Наиль ©   (2006-03-23 16:46) [4]

1. Замени property Caption:string read FCaption write ...;
на property Caption;
2. Убери поле FCaption из декларации.
3. Замени в описании FCaption на Caption.
Это позволит испльзовать Caption, который уже существует в компоненте.
4. Уберит строку FCaption:=Name так, как имя компонента становится известным компоненту после создания (читай, после выполнения конструктора).

За то, чтобы имя комнпонента было видно в инспекторе, отвечает метод SetName, который помещает название в FCaption TControl"a, а не в твой FCaption, который ты выводишь на кнопку.


 
Юрий Зотов ©   (2006-03-23 23:22) [5]

> tytus   (23.03.06 13:34) [3]

Причина описана во второй части [2]. Вы подменили стандартное свойство Caption своим - вот оно и не поддерживается. Детали см. в [4] и в исходниках TControl.



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
2-1162267874
viper03
2006-10-31 07:11
2006.11.19
Как извлечь объект из ЛистБокса?


15-1162247853
msn777
2006-10-31 01:37
2006.11.19
Ищу компоненты плавающих панелей / окон


15-1162365160
Prohodil Mimo
2006-11-01 10:12
2006.11.19
Ну вот и всё, скоро не будет у меня паспорта "Alien" :o)


15-1162485265
nutlover
2006-11-02 19:34
2006.11.19
Орешник


15-1162389352
Колдун
2006-11-01 16:55
2006.11.19
Предикаты