Función RedrawWindow (winuser.h)
La función RedrawWindow actualiza el rectángulo o la región especificados en el área cliente de una ventana.
Sintaxis
BOOL RedrawWindow(
[in] HWND hWnd,
[in] const RECT *lprcUpdate,
[in] HRGN hrgnUpdate,
[in] UINT flags
);
Parámetros
[in] hWnd
Identificador de la ventana que se va a volver a dibujar. Si este parámetro es NULL, se actualiza la ventana de escritorio.
[in] lprcUpdate
Puntero a una estructura RECT que contiene las coordenadas, en unidades de dispositivo, del rectángulo de actualización. Este parámetro se omite si el parámetro hrgnUpdate identifica una región.
[in] hrgnUpdate
Identificador de la región de actualización. Si los parámetros hrgnUpdate y lprcUpdate son NULL, se agrega todo el área de cliente a la región de actualización.
[in] flags
Una o varias marcas de volver a dibujar. Este parámetro se puede usar para invalidar o validar una ventana, volver a dibujar y controlar qué ventanas se ven afectadas por RedrawWindow.
Las marcas siguientes se usan para invalidar la ventana.
Marca (invalidación) | Descripción |
---|---|
|
Hace que la ventana reciba un mensaje de WM_ERASEBKGND cuando se vuelva a dibujar la ventana. También se debe especificar la marca RDW_INVALIDATE; de lo contrario, RDW_ERASE no tiene ningún efecto. |
|
Hace que cualquier parte del área no cliente de la ventana que intersece la región de actualización reciba un mensaje de WM_NCPAINT . También se debe especificar la marca RDW_INVALIDATE; de lo contrario, RDW_FRAME no tiene ningún efecto. Normalmente, el mensaje de WM_NCPAINT no se envía durante la ejecución de RedrawWindow a menos que se especifique RDW_UPDATENOW o RDW_ERASENOW. |
|
Hace que se publique un mensaje WM_PAINT en la ventana, independientemente de si alguna parte de la ventana no es válida. |
|
Invalida lprcUpdate o hrgnUpdate (solo uno puede ser distinto de NULL). Si ambos son NULL, se invalida toda la ventana. |
Las marcas siguientes se usan para validar la ventana.
Marca (validación) | Descripción |
---|---|
|
Suprime los mensajes de WM_ERASEBKGND pendientes. |
|
Suprime los mensajes de WM_NCPAINT pendientes. Esta marca debe usarse con RDW_VALIDATE y normalmente se usa con RDW_NOCHILDREN. RDW_NOFRAME debe usarse con cuidado, ya que podría hacer que partes de una ventana se pinte incorrectamente. |
|
Suprime los mensajes de WM_PAINT internos pendientes. Esta marca no afecta a WM_PAINT mensajes resultantes de un área de actualización que no sea NULL . |
|
Valida lprcUpdate o hrgnUpdate (solo uno puede ser distinto de NULL). Si ambos son NULL, se valida toda la ventana. Esta marca no afecta a los mensajes de WM_PAINT internos. |
Las siguientes marcas controlan cuándo se vuelve a pintar. RedrawWindow no volverá a pintar a menos que se especifique una de estas marcas.
Marca | Descripción |
---|---|
|
Hace que las ventanas afectadas (según lo especificado por las marcas RDW_ALLCHILDREN y RDW_NOCHILDREN) reciban WM_NCPAINT y WM_ERASEBKGND mensajes, si es necesario, antes de que la función devuelva. WM_PAINT mensajes se reciben en el momento normal. |
|
Hace que las ventanas afectadas (especificadas por las marcas RDW_ALLCHILDREN y RDW_NOCHILDREN) reciban mensajes WM_NCPAINT, WM_ERASEBKGND y WM_PAINT , si es necesario, antes de que la función devuelva. |
De forma predeterminada, las ventanas afectadas por RedrawWindow dependen de si la ventana especificada tiene el estilo WS_CLIPCHILDREN. Las ventanas secundarias que no son del estilo WS_CLIPCHILDREN no se ven afectadas; Las ventanas que no WS_CLIPCHILDREN se validan o invalidan de forma recursiva hasta que se encuentre una ventana de WS_CLIPCHILDREN. Las marcas siguientes controlan qué ventanas se ven afectadas por la función RedrawWindow .
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero.
Comentarios
Cuando Se usa RedrawWindow para invalidar parte de la ventana de escritorio, la ventana de escritorio no recibe un mensaje de WM_PAINT . Para volver a dibujar el escritorio, una aplicación usa la marca RDW_ERASE para generar un mensaje de WM_ERASEBKGND .
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-draw-l1-1-0 (introducido en Windows 8) |