Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизКак отловить событие 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c