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

Вниз

Как отловить событие WM_PAINT для компонента формы?   Найти похожие ветки 

 
Alex_C ©   (2006-10-11 13:41) [0]

Я так понимаю через WndProc :

procedure TForm1.WndProc(var Message: TMessage);
begin
   if Message.Msg = WM_PAINT then ...

Однако как узнать что этот WM_PAIN относится именно к конкретному компонету, а не к форме?


 
han_malign ©   (2006-10-11 14:03) [1]


> Однако как узнать что этот WM_PAIN относится именно к конкретному  компонету, а не к форме?

- а никак - форма никогда не получит WM_PAIN компонента.
Все WM_ (Window Message) - это целевые сообщения, предназначенные для конкретного окна...


 
han_malign ©   (2006-10-11 14:20) [2]

более того, даже Application.OnMessage - получит только те сообщения WM_PAINT которые были инициированы с помощью Windows.UpdateWindow(control.handle), Windows.RedrawWindow(control.handle) или Windows.Send/PostMessage(control.handle, WM_PAINT, ...)(PostMessage - из области полной экзотики - не факт что вообще сработает, да и SendMessage - вряд ли кто использует), т.к. по большей части WM_PAINT компонентов делает Parent прямым вызовом Perform ==> WindowProc...



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

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

Наверх




Память: 0.47 MB
Время: 0.072 c
15-1159374275
SergP.
2006-09-27 20:24
2006.10.29
Ура!!! Наконец-то у меня будет нормальный инет!!!


2-1160462004
mfender
2006-10-10 10:33
2006.10.29
Пустой TXMLDocument или, как создать корневой узел?


15-1159961743
001
2006-10-04 15:35
2006.10.29
Требуется определить средство разработки


15-1160119326
Loginov Dmitry
2006-10-06 11:22
2006.10.29
Задачка (почти пятничная :)


15-1160158025
AntiUser
2006-10-06 22:07
2006.10.29
Один запрос 0.5 сек, такой же изменный 15 сек 8(