WM_PAINT wird dauernd geschickt
-
Hallo,
ich mach GetMessage, TranslateMessage und DispatchMessage und trotzdem wird WM_PAINT dauernd geschickt obwohl sich im Fenster nichts tut.
Woher kann das kommen?
lg, Gerhard
-
Wie verarbeitest du WM_PAINT in der WndProc?
Du musst entweder BeginPaint/EndPaint oder ValidateRect benutzen. Sonst denkt sich Windows:
"Schön und gut, ich hab dem Programm WM_PAINT geschickt. Es hat aber nicht drauf reagiert, denn mein interner Speicher sagt mir das Fenster ist immer noch ungültig. Also schick ich noch eine."
-
Und wie verhält sich diesbzgl. DefWindowProc? Wird wenn ich WM_PAINT mit DefWindowProc behandle die Nachricht nicht mehr geschickt?
Gerhard
-
Jede Fensterprozedur, die WM_PAINT verarbeitet, muss zumindest BeginPaint/EndPaint aufrufen, um die UpdateRegion zu validieren. Auch DefWindowProc gehört dazu.