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

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

Хук на перерисовку окна


}{enon ©   (2003-02-01 19:05:00) 

Какой хук нужно поставить, чтобы ловить сообщения о перерисовке окон?


Nick_N_A   (2003-02-06 05:17:00) [1]

TControl - Это небольшая беда, правда у него какае-то хитрость с
ненделом, помоему для этих целей лучше подойдет TWinControl,
но неважно для WM_PAINT,
вы хотите увидеть что нарисовано на другом окне,
или все-таки хотите что-то дорисовывать ему,
или шпионить за анимацией ?
может проще дать ему дескриптор контекста, и он вам сам туда нарисуется ?


Axis_of_Evil   (2003-02-05 14:18:00) [2]

WM_ERASEBKGND
WM_Paint


}{enon   (2003-02-05 13:09:00) [3]

2 Nick_N_A
Класс - TControl, но вообще-то хук ставится на чужое окно(02.02.03 19:08).


Nick_N_A   (2003-02-05 05:41:00) [4]

Какой хук, о чем вы говорите ?
Процедуре WndProc передаются все сообщения вашего окна,
другое дело, если вы неможете задать ее и подключить к компоненту. А всетаки какой у вас базовый класс ?


Nick_N_A   (2003-02-05 05:36:00) [5]

Какой базовый класс у твоей компоненты, т.е. получает ли она хоть какие-нибудь сообщения, если в списке родительских классов
нет TControl, то просто так сообщение тебе будет некому присать -
ты должен будешь позаботится об этом сам


}{enon   (2003-02-04 18:50:00) [6]

> Твоя компонента использует VCL
Думаю, да. Используются стандартные компоненты форточек (кнопки, списки, формы...)


Игорь Шевченко   (2003-02-04 09:58:00) [7]


> Какой хук нужно поставить, чтобы ловить сообщения о перерисовке
> окон


WH_GETMESSAGE


Nick_N_A   (2003-02-04 07:19:00) [8]

}{enon: если не секрет, то что именно


Nick_N_A   (2003-02-04 07:18:00) [9]

Rouse_: что же вы мучаете человека с TMessage
TWMPaint = packed record
Msg: Cardinal;
DC: HDC;
Unused: Longint;
Result: Longint;
end;

procedure QW (var Message:TWMPaint); message WM_PAINT;

}{enon: твоя компонента использует VCL, если нет -
я тебе еще один секрет открою





}{enon   (2003-02-03 14:35:00) [10]

Спасибо.
Пошёл перечитывать статьи.


xZero   (2003-02-03 00:32:00) [11]

Это дело надо уже через дллку организовывать! (если для всех)


}{enon   (2003-02-02 19:08:00) [12]

Видимо не так написал, но нужно ставить хук на перерисовку чужих окон, так что желательно "код дать".


Rouse_   (2003-02-02 17:32:00) [13]

procedure QW (var Message: TMessage); message WM_PAINT;

Желаю успехов или код дать


}{enon   (2003-02-02 17:00:00) [14]

Ещё один вопрос - как всё-таки его ставть?


}{enon   (2003-02-02 09:05:00) [15]

Скорее всего, именно WM_PAINT, хотя в похожем примере для своего окна ловится больше (Paint, Activate, Size и т.д.).

> Может что-то великое пишете ?

Всё относительно; по моим меркам - да.


Nick_N_A   (2003-02-02 07:26:00) [16]

где именно, может WM_PAINT, WM_PRINT
Может что-то великое пишете ?


Наверх

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