RedrawWindow (Compact 2013)
3/28/2014
This function updates the specified rectangle or region in the client area of a window.
Syntax
BOOL WINAPI RedrawWindow(
HWND hwnd,
CONST RECT* lprcUpdate,
HRGN hrgnUpdate,
UINT flags
);
Parameters
hwnd
[in] Handle to the window that you want to redraw.If this parameter is NULL, RedrawWindow updates the desktop window.
lprcUpdate
[in] Pointer to a RECT structure that contains the coordinates, in device units, of the update rectangle.RedrawWindow ignores this parameter if the hrgnUpdate parameter identifies a region.
hrgnUpdate
[in] Handle to the update region.If both the hrgnUpdate and lprcUpdate parameters are NULL, RedrawWindow adds the entire client area to the update region.
flags
[in] DWORD that specifies one or more redraw options.You can use this parameter to invalidate or validate a window, control when repainting occurs, and control the windows that RedrawWindow affects.
The following table shows the values that invalidate the window.
Value
Description
RDW_ERASE
Causes the window to receive a WM_ERASEBKGND message when the window is repainted.
Specify this value in combination with the RDW_INVALIDATE value; otherwise, RDW_ERASE has no effect.
RDW_INTERNALPAINT
Causes the OS to post a WM_PAINT message to the window regardless of whether a portion of the window is invalid.
RDW_INVALIDATE
Invalidates the rectangle or region that you specify in lprcUpdate or hrgnUpdate.
You can set only one of these parameters to a non-NULL value.
If both are NULL, RDW_INVALIDATE invalidates the entire window.
The following table shows the values that validate the window.
Value
Description
RDW_NOERASE
Suppresses any pending WM_ERASEBKGND messages.
RDW_VALIDATE
Validates the rectangle or region that you specify in lprcUpdate or hrgnUpdate.
You can set only one of these parameters to a non-NULL value.
If both are NULL, RDW_VALIDATE validates the entire window.
This value does not affect internal WM_PAINT messages.
The following table shows the values that control when repainting occurs. RedrawWindow does not repaint unless you specify one of these values.
Value
Description
RDW_ERASENOW
Causes the affected windows, which you specify by setting the RDW_ALLCHILDREN and RDW_NOCHILDREN values, to receive WM_ERASEBKGND messages before RedrawWindow returns, if necessary.
The affected windows receive WM_PAINT messages at the ordinary time.
RDW_UPDATENOW
Causes the affected windows, which you specify by setting the RDW_ALLCHILDREN and RDW_NOCHILDREN values, to receive WM_ERASEBKGND and WM_PAINT messages before the RedrawWindow returns, if necessary.
By default, the set of windows that RedrawWindow affects depends on whether the windows have the WS_CLIPCHILDREN style.
RedrawWindow does not affect child windows that do not have the WS_CLIPCHILDREN style.
RedrawWindow recursively validates or invalidates non-WS_CLIPCHILDREN windows until RedrawWindow encounters a WS_CLIPCHILDREN window.
The following table shows the values that control the windows that RedrawWindow affects.
Value
Description
RDW_ALLCHILDREN
Includes child windows, if any, in the repainting operation.
RDW_NOCHILDREN
Excludes child windows, if any, from the repainting operation.
Return Value
A nonzero value indicates success. Zero indicates failure. To get extended error information, call GetLastError.
Requirements
Header |
windows.h |
Library |
coredll.lib |