WM_PAINT
An
application sends the WM_PAINT message when Windows or another application
makes a request to paint a portion of an application s window. The message is
sent when the UpdateWindow20GX08E function when the application obtains a
WM_PAINT message by using the GetMessage or PeekMessage0X9XXX function.
WM_PAINT
hdc = (HDC) wParam; // the device context to draw in
Parameters
hdc
Identifies
the device context to draw in. If this parameter is NULL, use the default
device context. This parameter is used by some common controls to enable
drawing in a device context other than the default device context. Other
windows can safely ignore this parameter.
Return Values
An
application should return zero if it processes this message.
Remarks
The DefWindowProc
The system
sends this message when there are no other messages in the application s
message queue. DispatchMessage determines where to send the message; GetMessage
determines which message to dispatch. GetMessage returns the WM_PAINT
message when there are no other messages in the application s message queue,
and DispatchMessage sends the message to the appropriate window
procedure.
A window may
receive internal paint messages as a result of calling RedrawWindow with
the RDW_INTERNALPAINT flag set. In this case, the window may not have an update
region. An application should call the GetUpdateRectF7YTUY and EndPaint functions.
An
application must check for any necessary internal painting by looking at its
internal data structures for each WM_PAINT message, because a WM_PAINT message
may have been caused by both a non-NULL update region and a call to RedrawWindow
with the RDW_INTERNALPAINT flag set.
Windows sends
an internal WM_PAINT message only once. After an internal WM_PAINT message is
returned from GetMessage or PeekMessage or is sent to a window by
UpdateWindow, Windows does not post or send further WM_PAINT messages
until the window is invalidated or until RedrawWindow is called again
with the RDW_INTERNALPAINT flag set.
For some
common controls, the default WM_PAINT message processing checks the wParam
parameter. If wParam is non-NULL, the control assumes that the value is
an HDC and paints using that device context.
See Also