CWnd::RedrawWindow
Actualiza el rectángulo o región especificado en el área cliente de la ventana especificada.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
CRgn* prgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE
);
Parámetros
lpRectUpdate
Señala una estructura de RECT que contiene las coordenadas del rectángulo de actualización.se omite este parámetro si el prgnUpdate contiene un identificador válido de la región.prgnUpdate
identifica la región de actualización.si el prgnUpdate y lpRectUpdate son NULL, el área cliente completa se agrega a la región de actualización.flags
Los marcadores siguientes se utilizan para invalidar la ventana:RDW_ERASE hace que la ventana para recibir un mensaje de WM_ERASEBKGND cuando se redibuja la ventana.El indicador de RDW_INVALIDATE también deben especificarse; si no RDW_ERASE no tiene ningún efecto.
RDW_FRAME hace que cualquier parte del área no cliente de la ventana que corten la región de actualización para recibir un mensaje de WM_NCPAINT .El indicador de RDW_INVALIDATE también deben especificarse; si no RDW_FRAME no tiene ningún efecto.
RDW_INTERNALPAINT produce un mensaje de WM_PAINT se envía a la ventana independientemente la ventana contiene una región no válida.
RDW_INVALIDATE reemplaza lpRectUpdate o el prgnUpdate (sólo es posible no NULL).Si ambos son NULL, la ventana completa se invalida.
Los marcadores siguientes se utilizan para validar la ventana:
RDW_NOERASE Suppresses los mensajes pendientes de WM_ERASEBKGND .
RDW_NOFRAME Suppresses los mensajes pendientes de WM_NCPAINT .Este marcador se debe utilizar con RDW_VALIDATE y se utiliza normalmente con RDW_NOCHILDREN.Esta opción se debe utilizar con cuidado, ya que podría evitar que las partes de una ventana pinten correctamente.
RDW_NOINTERNALPAINT Suppresses los mensajes internos pendientes de WM_PAINT .Este marcador no afecta a los mensajes de WM_PAINT resultando de áreas no válidas.
RDW_VALIDATE valida lpRectUpdate o el prgnUpdate (sólo es posible no NULL).si ambos son NULL, se valida la ventana completa.Este marcador no afecta a los mensajes internos de WM_PAINT .
Los siguientes indicadores controlan cuando la repintura aparece.La actualización no se realiza mediante la función de RedrawWindow a menos que uno de estos bits se especifique.
RDW_ERASENOW hace las ventanas afectadas (según lo especificado por marcas de RDW_ALLCHILDREN y de RDW_NOCHILDREN ) para recibir WM_NCPAINT y los mensajes de WM_ERASEBKGND en caso necesario, antes de que la función vuelva.se retrasan los mensajes deWM_PAINT .
RDW_UPDATENOW hace las ventanas afectadas (según lo especificado por marcas de RDW_ALLCHILDREN y de RDW_NOCHILDREN ) para recibir WM_NCPAINT, WM_ERASEBKGND, y los mensajes de WM_PAINT en caso necesario, antes de retornos de la función.
De forma predeterminada, las ventanas afectadas por la función de RedrawWindow dependen de si la ventana especificada tiene el estilo de WS_CLIPCHILDREN .Las ventanas secundarias de las ventanas de WS_CLIPCHILDREN no resultan afectadas.Sin embargo, las ventanas que no son ventanas de WS_CLIPCHILDREN se validan o se invalidan de forma recursiva hasta que se encuentre una ventana de WS_CLIPCHILDREN .El siguiente control de marcadores para que las ventanas se ven afectadas por la función de RedrawWindow :
Ventanas secundarias deRDW_ALLCHILDREN Includes, si existe, en la operación de repintura.
Ventanas secundarias deRDW_NOCHILDREN Excludes, si existe, la operación de repintura.
Valor devuelto
Distinto de cero si la ventana se rediseñada correctamente; si no 0.
Comentarios
Cuando la función miembro de RedrawWindow se utiliza para reemplazar la parte de la ventana del escritorio, esa ventana no recibe un mensaje de WM_PAINT .Para que vuelva al escritorio, una aplicación debe utilizar CWnd:: ValidateRgn, CWnd:: InvalidateRgn, CWnd:: UpdateWindow, o RedrawWindow
Requisitos
encabezado: afxwin.h