WM_PRINTCLIENT message

The WM_PRINTCLIENT message is sent to a window to request that it draw its client area in the specified device context, most commonly in a printer device context.

Unlike WM_PRINT, WM_PRINTCLIENT is not processed by DefWindowProc. A window should process the WM_PRINTCLIENT message through an application-defined WindowProc function for it to be used properly.

LRESULT CALLBACK WindowProc(
  HWND hwnd, 
  UINT  uMsg, 
  WPARAM wParam, 
  LPARAM lParam     
);

Parameters

wParam

A handle to the device context to draw in.

lParam

The drawing options. This parameter can be one or more of the following values.

Value Meaning
PRF_CHECKVISIBLE
Draws the window only if it is visible.
PRF_CHILDREN
Draws all visible children windows.
PRF_CLIENT
Draws the client area of the window.
PRF_ERASEBKGND
Erases the background before drawing the window.
PRF_NONCLIENT
Draws the nonclient area of the window.
PRF_OWNED
Draws all owned windows.

 

Remarks

A window can process this message in much the same manner as WM_PAINT, except that BeginPaint and EndPaint need not be called (a device context is provided), and the window should draw its entire client area rather than just the invalid region.

Windows that can be used anywhere in the system, such as controls, should process this message. It is probably worthwhile for other windows to process this message as well because it is relatively easy to implement.

The AnimateWindow function requires that the window being animated implements the WM_PRINTCLIENT message.

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
Winuser.h (include Windows.h)

See also

Painting and Drawing Overview

Painting and Drawing Messages

AnimateWindow

BeginPaint

EndPaint

WM_PAINT