Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.028 c
2-1160976705
Delpher
2006-10-16 09:31
2006.10.29
Присваивание обработке события значения.


15-1160470659
Cash
2006-10-10 12:57
2006.10.29
Новое слово в креплении кулеров!


15-1160223275
Adder
2006-10-07 16:14
2006.10.29
Anatoly Podgoretsky с днём рождения!


3-1157437612
svt
2006-09-05 10:26
2006.10.29
!!!!ADOStoredProc1 !!!!Объясните, пожайлуста, где я ошибся


2-1161066498
Bless
2006-10-17 10:28
2006.10.29
Два класса, ссылающиеся друг на друга, в разных модулях. Можно?




   Наверх