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

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

Real-Time отрисовка Caption [D7, WinXP]


Кашперук Иван ©   (2006-03-19 15:27:00) 

Как в своем компоненте при изменении Caption одновременно отображать эти изменения в Дизайнере, как это происходить для всех стандартных компонентов?


Юрий Зотов   (2006-03-19 22:00:00) [1]

Не надо перехватывать никаких сообщений, достаточно просто установить  csSetCaption в ControlStyle.


Кашперук Иван   (2006-03-19 19:28:00) [2]

Наконец-то прорисовалось :)

Только осталась еще одна проблемка:

В Paint изменяю другие свойства компонента - но их прорисовка в ObjectInspector не происходит до след. Invalidate;

В Paint его понятное дело написать нельзя :) , зациклится.

Есть ли какой-то метод для обновления на экране свойств компонента??


Кашперук Иван   (2006-03-19 18:37:00) [3]

Дело все в том, что сообщение-то я перехватываю, типа.


   procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;

...

procedure TCoolBtn.CMTextChanged(var Message: TMessage);
begin
 invalidate;
end;


А отрисовки не происходит. :(


jack128   (2006-03-19 16:10:00) [4]

MBo ©   (19.03.06 15:43) [1]
инициирующий сообщение CM_TextChanged и соответственно перерисовку.


Не-а. По умолчанию для TControl и TGraphicControl перерисовка не производится.


MBo   (2006-03-19 15:43:00) [5]

при изменении Caption контролов вызывается метод SetText, инициирующий сообщение CM_TextChanged и соответственно перерисовку.
Так что, если унаследованные методы правильно вызываются, то все должно происходить автоматически.


Наверх

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