Windows (ventanas y mensajes)

En una aplicación gráfica basada en Windows, una ventana es un área rectangular de la pantalla donde la aplicación muestra la salida y recibe la entrada del usuario. Por lo tanto, una de las primeras tareas de una aplicación gráfica basada en Windows es crear una ventana.

Una ventana comparte la pantalla con otras ventanas, incluidas las de otras aplicaciones. Solo una ventana a la vez puede recibir la entrada del usuario. El usuario puede usar el mouse, el teclado u otro dispositivo de entrada para interactuar con esta ventana y la aplicación que lo posee.

En esta sección

Nombre Descripción
Acerca de Windows Describe los elementos de programación que las aplicaciones usan para crear y usar ventanas; administrar relaciones entre ventanas; y tamaño, mover y mostrar ventanas.
Uso de Windows Contiene ejemplos que realizan tareas asociadas al uso de ventanas.
Características de las ventanas Describe las características de ventanas, como los tipos de ventana, los estados, el tamaño y la posición.
Referencia de ventana Contiene la referencia de la API.

 

Funciones de ventana

Nombre Descripción
AdjustWindowRect Calcula el tamaño necesario del rectángulo de ventana, en función del tamaño deseado del rectángulo de cliente. A continuación, el rectángulo de ventana se puede pasar a la función CreateWindow para crear una ventana cuyo área de cliente sea el tamaño deseado.
AdjustWindowRectEx Calcula el tamaño necesario del rectángulo de ventana, en función del tamaño deseado del rectángulo de cliente. A continuación, el rectángulo de ventana se puede pasar a la función CreateWindowEx para crear una ventana cuyo área de cliente sea el tamaño deseado.
AllowSetForegroundWindow Habilita el proceso especificado para establecer la ventana de primer plano mediante la función SetForegroundWindow. El proceso de llamada ya debe poder establecer la ventana de primer plano. Para obtener más información, vea Comentarios más adelante en este tema.
AnimateWindow Permite producir efectos especiales al mostrar u ocultar ventanas. Hay cuatro tipos de animación: rodar, deslizar, contraer o expandir y fundido alfa.
AnyPopup Indica si existe una ventana emergente de nivel superior, visible o superpuesta en la pantalla. La función busca en toda la pantalla, no solo en el área cliente de la aplicación que realiza la llamada.
ArrangeIconicWindows Organiza todas las ventanas secundarias minimizadas (emblemáticas) de la ventana primaria especificada.
BeginDeferWindowPos Asigna memoria para una estructura de posición de varias ventanas y devuelve el identificador a la estructura.
BringWindowToTop Lleva la ventana especificada a la parte superior del orden Z. Si la ventana es una ventana de nivel superior, se activa. Si la ventana es una ventana secundaria, se activa la ventana primaria de nivel superior asociada a la ventana secundaria.
CalculatePopupWindowPosition Calcula una posición de ventana emergente adecuada mediante el punto de anclaje, el tamaño de ventana emergente, las marcas y el rectángulo de exclusión opcional. Cuando el tamaño de ventana emergente especificado es menor que el tamaño de la ventana de escritorio, use la función CalculatePopupWindowPosition para asegurarse de que la ventana emergente esté totalmente visible en la ventana de escritorio, independientemente del punto de anclaje especificado.
CascadeWindows Aplica en cascada las ventanas secundarias especificadas de la ventana primaria especificada.
ChangeWindowMessageFilter Agrega o quita un mensaje del filtro de mensajes aislamiento de privilegios de interfaz de usuario (UIPI).
ChangeWindowMessageFilterEx Modifica el filtro de mensajes UIPI para una ventana especificada.
ChildWindowFromPoint Determina cuál, si existe, de las ventanas secundarias que pertenecen a una ventana primaria contiene el punto especificado. La búsqueda está restringida a ventanas secundarias inmediatas. Los nietos y las ventanas descendientes más profundas no se buscan.
ChildWindowFromPointEx Determina cuál, si existe, de las ventanas secundarias que pertenecen a la ventana primaria especificada contiene el punto especificado. La función puede omitir ventanas secundarias invisibles, deshabilitadas y transparentes. La búsqueda está restringida a ventanas secundarias inmediatas. No se buscan nietos y descendientes más profundos.
CloseWindow Minimiza (pero no destruye) la ventana especificada.
CreateWindow Crea una ventana superpuesta, emergente o secundaria. Especifica la clase de ventana, el título de la ventana, el estilo de ventana y (opcionalmente) la posición inicial y el tamaño de la ventana. La función también especifica el propietario o primario de la ventana, si existe, y el menú de la ventana.
CreateWindowEx Crea una ventana superpuesta, emergente o secundaria con un estilo de ventana extendida; De lo contrario, esta función es idéntica a la función CreateWindow. Para obtener más información sobre cómo crear una ventana y obtener descripciones completas de los demás parámetros de CreateWindowEx, vea CreateWindow.
DeferWindowPos Actualiza la estructura de posición de varias ventanas especificada para la ventana especificada. A continuación, la función devuelve un identificador a la estructura actualizada. La función EndDeferWindowPos usa la información de esta estructura para cambiar la posición y el tamaño de una serie de ventanas simultáneamente. La función BeginDeferWindowPos crea la estructura.
DeregisterShellHookWindow Anula el registro de una ventana de Shell especificada registrada para recibir mensajes de enlace de Shell. Anula el registro de las ventanas registradas con una llamada a la función RegisterShellHookWindow.
DestroyWindow Destruye la ventana especificada. La función envía WM_DESTROY y WM_NCDESTROY mensajes a la ventana para desactivarlo y quitar el foco del teclado de ella. La función también destruye el menú de la ventana, vacía la cola de mensajes del subproceso, destruye los temporizadores, quita la propiedad del Portapapeles y interrumpe la cadena del visor del Portapapeles (si la ventana está en la parte superior de la cadena del visor).
EndDeferWindowPos Actualiza simultáneamente la posición y el tamaño de una o varias ventanas en un solo ciclo de actualización de pantalla.
EndTask Cierra forzadamente una ventana especificada.
EnumChildProc Función de devolución de llamada definida por la aplicación que se usa con la función de EnumChildWindows . Recibe los identificadores de la ventana secundaria. El tipo de WNDENUMPROC define un puntero a esta función de devolución de llamada. EnumChildProc es un marcador de posición para el nombre de función definido por la aplicación.
EnumChildWindows Enumera las ventanas secundarias que pertenecen a la ventana primaria especificada pasando el identificador a cada ventana secundaria, a su vez, a una función de devolución de llamada definida por la aplicación. EnumChildWindows continúa hasta que se enumera la última ventana secundaria o la función de devolución de llamada devuelve FALSE.
EnumThreadWindows Enumera todas las ventanas no secundarias asociadas a un subproceso pasando el identificador a cada ventana, a su vez, a una función de devolución de llamada definida por la aplicación. EnumThreadWindows continúa hasta que se enumera la última ventana o la función de devolución de llamada devuelve FALSE. Para enumerar ventanas secundarias de una ventana determinada, use la función EnumChildWindows.
EnumThreadWndProc Función de devolución de llamada definida por la aplicación que se usa con la función EnumThreadWindows. Recibe los identificadores de ventana asociados a un subproceso. El tipo de WNDENUMPROC define un puntero a esta función de devolución de llamada. EnumThreadWndProc es un marcador de posición para el nombre de función definido por la aplicación.
EnumWindows Enumera todas las ventanas de nivel superior de la pantalla pasando el identificador a cada ventana, a su vez, a una función de devolución de llamada definida por la aplicación. EnumWindows continúa hasta que se enumera la última ventana de nivel superior o la función de devolución de llamada devuelve FALSE.
EnumWindowsProc Función de devolución de llamada definida por la aplicación que se usa con la función de EnumWindows o EnumDesktopWindows. Recibe identificadores de ventana de nivel superior. El tipo de WNDENUMPROC define un puntero a esta función de devolución de llamada. EnumWindowsProc es un marcador de posición para el nombre de función definido por la aplicación.
FindWindow Recupera un identificador de la ventana de nivel superior cuyo nombre de clase y nombre de ventana coinciden con las cadenas especificadas. Esta función no busca ventanas secundarias. Esta función no realiza una búsqueda que distingue mayúsculas de minúsculas.
FindWindowEx Recupera un identificador de una ventana cuyo nombre de clase y nombre de ventana coinciden con las cadenas especificadas. La función busca ventanas secundarias, empezando por la siguiente ventana secundaria especificada. Esta función no realiza una búsqueda que distingue mayúsculas de minúsculas.
GetAltTabInfo Recupera la información de estado de la ventana especificada si es la ventana de cambio de aplicación (ALT+TAB).
GetAncestor Recupera el identificador del antecesor de la ventana especificada.
GetClientRect Recupera las coordenadas del área cliente de una ventana. Las coordenadas de cliente especifican las esquinas superior izquierda e inferior derecha del área cliente. Dado que las coordenadas de cliente son relativas a la esquina superior izquierda del área cliente de una ventana, las coordenadas de la esquina superior izquierda son (0,0).
GetDesktopWindow Devuelve un identificador a la ventana de escritorio. La ventana de escritorio cubre toda la pantalla. La ventana de escritorio es el área en la que se pintan otras ventanas.
GetForegroundWindow Devuelve un identificador a la ventana de primer plano (la ventana con la que el usuario está trabajando actualmente). El sistema asigna una prioridad ligeramente mayor al subproceso que crea la ventana de primer plano que a otros subprocesos.
GetGUIThreadInfo Recupera información sobre la ventana activa o un subproceso de GUI especificado.
GetLastActivePopup Determina qué ventana emergente propiedad de la ventana especificada estaba activa más recientemente.
GetLayeredWindowAttributes Recupera la clave de color de transparencia y opacidad de una ventana superpuesta.
GetNextWindow Recupera un identificador de la ventana siguiente o anterior de la Z-Order. La ventana siguiente está debajo de la ventana especificada; la ventana anterior está encima. Si la ventana especificada es una ventana superior, la función recupera un identificador en la ventana superior siguiente (o anterior). Si la ventana especificada es una ventana de nivel superior, la función recupera un identificador de la ventana de nivel superior siguiente (o anterior). Si la ventana especificada es una ventana secundaria, la función busca un identificador en la ventana secundaria siguiente (o anterior).
GetParent Recupera un identificador del propietario o primario de la ventana especificada.
GetProcessDefaultLayout Recupera el diseño predeterminado que se usa cuando se crean ventanas sin ningún elemento primario o propietario.
GetShellWindow Devuelve un identificador a la ventana de escritorio del shell.
GetTitleBarInfo Recupera información sobre la barra de título especificada.
GetTopWindow Examina el orden Z de las ventanas secundarias asociadas a la ventana primaria especificada y recupera un identificador de la ventana secundaria en la parte superior del orden Z.
GetWindow Recupera un identificador de una ventana que tiene la relación especificada (Z-Order o propietario) en la ventana especificada.
GetWindowDisplayAffinity Recupera la configuración de afinidad de visualización actual, desde cualquier proceso, para una ventana determinada.
GetWindowInfo Recupera información sobre la ventana especificada.
GetWindowModuleFileName Recupera la ruta de acceso completa y el nombre de archivo del módulo asociado al identificador de ventana especificado.
GetWindowPlacement Recupera el estado de presentación y las posiciones restauradas, minimizadas y maximizadas de la ventana especificada.
GetWindowRect Recupera las dimensiones del rectángulo delimitador de la ventana especificada. Las dimensiones se proporcionan en coordenadas de pantalla relativas a la esquina superior izquierda de la pantalla.
GetWindowText Copia el texto de la barra de título de la ventana especificada (si tiene uno) en un búfer. Si la ventana especificada es un control, se copia el texto del control. Sin embargo, GetWindowText no puede recuperar el texto de un control en otra aplicación.
GetWindowTextLength Recupera la longitud, en caracteres, del texto de la barra de título de la ventana especificada (si la ventana tiene una barra de título). Si la ventana especificada es un control, la función recupera la longitud del texto dentro del control. Sin embargo, GetWindowTextLength no puede recuperar la longitud del texto de un control de edición en otra aplicación.
GetWindowThreadProcessId Recupera el identificador del subproceso que creó la ventana especificada y, opcionalmente, el identificador del proceso que creó la ventana.
IsChild Determina si una ventana es una ventana secundaria o una ventana descendiente de una ventana primaria especificada. Una ventana secundaria es el descendiente directo de una ventana primaria especificada si esa ventana primaria está en la cadena de ventanas primarias; la cadena de ventanas primarias conduce desde la ventana emergente o superpuesta original a la ventana secundaria.
IsGUIThread Determina si el subproceso que realiza la llamada ya es un subproceso de GUI. También puede convertir el subproceso en un subproceso de GUI.
IsHungAppWindow Determina si Windows considera que una aplicación especificada no responde. Se considera que una aplicación no responde si no está esperando la entrada, no está en el procesamiento de inicio y no se ha llamado a PeekMessage dentro del período de tiempo de espera interno de 5 segundos.
IsIconic Determina si la ventana especificada está minimizada (emblemática).
IsProcessDPIAware Obtiene un valor que indica si el proceso actual es puntos por pulgada (ppp), de modo que ajusta los tamaños de los elementos de la interfaz de usuario para compensar la configuración de ppp.
IsWindow Determina si el identificador de ventana especificado identifica una ventana existente.
IsWindowUnicode Determina si la ventana especificada es una ventana Unicode nativa.
IsWindowVisible Recupera el estado de visibilidad de la ventana especificada.
IsZoomed Determina si una ventana está maximizada.
LockSetForegroundWindow El proceso de primer plano puede llamar a la función LockSetForegroundWindow para deshabilitar las llamadas a la función SetForegroundWindow.
LogicalToPhysicalPoint Convierte las coordenadas lógicas de un punto de una ventana en coordenadas físicas.
MoveWindow Cambia la posición y las dimensiones de la ventana especificada. Para una ventana de nivel superior, la posición y las dimensiones son relativas a la esquina superior izquierda de la pantalla. Para una ventana secundaria, son relativas a la esquina superior izquierda del área cliente de la ventana primaria.
OpenIcon Restaura una ventana minimizada (emblemática) a su tamaño y posición anteriores; después, activa la ventana.
PhysicalToLogicalPoint Convierte las coordenadas físicas de un punto de una ventana en coordenadas lógicas.
RealChildWindowFromPoint Recupera un identificador de la ventana secundaria en el punto especificado. La búsqueda está restringida a ventanas secundarias inmediatas; los nietos y las ventanas descendientes más profundas no se buscan.
RealGetWindowClass Recupera una cadena que especifica el tipo de ventana.
RegisterShellHookWindow Registra una ventana de Shell especificada para recibir determinados mensajes para eventos o notificaciones que son útiles para las aplicaciones de Shell. Los mensajes de evento recibidos son solo los enviados a la ventana Shell asociada al escritorio de la ventana especificada. Muchos de los mensajes son los mismos que los que se pueden recibir después de llamar a la función SetWindowsHookEx y especificar WH_SHELL para el tipo de enlace. La diferencia con RegisterShellHookWindow es que los mensajes se reciben a través de la ventana especificada WindowProc y no a través de un procedimiento de devolución de llamada.
SetForegroundWindow Coloca el subproceso que creó la ventana especificada en primer plano y activa la ventana. La entrada del teclado se dirige a la ventana y se cambian varias indicaciones visuales para el usuario. El sistema asigna una prioridad ligeramente mayor al subproceso que creó la ventana de primer plano que a otros subprocesos.
SetLayeredWindowAttributes Establece la clave de color de transparencia y opacidad de una ventana superpuesta.
SetParent Cambia la ventana primaria de la ventana secundaria especificada.
SetProcessDefaultLayout Cambia el diseño predeterminado cuando las ventanas se crean sin ningún elemento primario o propietario solo para el proceso que se está ejecutando actualmente.
SetProcessDPIAware Establece el proceso actual como compatible con ppp.
SetWindowDisplayAffinity Almacena la configuración de afinidad de visualización en modo kernel en el hWnd asociado a la ventana.
SetWindowPlacement Establece el estado de presentación y las posiciones restauradas, minimizadas y maximizadas de la ventana especificada.
SetWindowPos Cambia el tamaño, la posición y el orden Z de una ventana secundaria, emergente o de nivel superior. Estas ventanas se ordenan según su apariencia en la pantalla. La ventana superior recibe el rango más alto y es la primera ventana en el orden Z.
SetWindowText Cambia el texto de la barra de título de la ventana especificada (si tiene una). Si la ventana especificada es un control, se cambia el texto del control. Sin embargo, SetWindowText no puede cambiar el texto de un control en otra aplicación.
ShowOwnedPopups Muestra u oculta todas las ventanas emergentes que pertenecen a la ventana especificada.
showWindow Establece el estado de presentación de la ventana especificada.
ShowWindowAsync Establece el estado de presentación de una ventana creada por un subproceso diferente.
SoundSentry Desencadena una señal visual para indicar que se está reproduciendo un sonido.
SwitchToThisWindow Cambia el foco a una ventana especificada y la lleva al primer plano.
TileWindows Mosaico las ventanas secundarias especificadas de la ventana primaria especificada.
UpdateLayeredWindow Actualiza la posición, el tamaño, la forma, el contenido y la transparencia de una ventana superpuesta.
UpdateLayeredWindowIndirect Actualiza la posición, el tamaño, la forma, el contenido y la transparencia de una ventana superpuesta.
WindowFromPhysicalPoint Recupera un identificador de la ventana que contiene el punto físico especificado.
WindowFromPoint Recupera un identificador de la ventana que contiene el punto especificado.
WinMain WinMain es el nombre convencional del punto de entrada proporcionado por el usuario para una aplicación basada en Windows.

 

Macros de ventana

Nombre Descripción
GET_X_LPARAM Recupera la coordenada X firmada del valor de LPARAM especificado.
GET_Y_LPARAM Recupera la coordenada Y firmada del valor de LPARAM especificado.
HIBYTE Recupera el byte de orden superior del valor de 16 bits especificado.
HIWORD Recupera la palabra de orden superior del valor de 32 bits especificado.
LOBYTE Recupera el byte de orden bajo del valor especificado.
LOWORD Recupera la palabra de orden bajo del valor especificado.
MAKELONG Crea un valor LONG mediante la concatenación de los valores especificados.
MAKELPARAM Crea un valor para usarlo como parámetro lParam en un mensaje. La macro concatena los valores especificados.
MAKELRESULT Crea un valor para usarlo como valor devuelto a partir de un procedimiento de ventana. La macro concatena los valores especificados.
MAKEWORD Crea un valor WORD mediante la concatenación de los valores especificados.
MAKEWPARAM Crea un valor para usarlo como parámetro wParam en un mensaje. La macro concatena los valores especificados.

 

Mensajes de ventana

Nombre Descripción
MN_GETHMENU Obtiene el HMENU de la ventana actual.
WM_GETFONT Recupera la fuente con la que el control está dibujando actualmente su texto.
WM_GETTEXT Copia el texto que corresponde a una ventana en un búfer proporcionado por el autor de la llamada.
WM_GETTEXTLENGTH Determine la longitud, en caracteres, del texto asociado a una ventana.
WM_SETFONT Especifica la fuente que se va a usar un control al dibujar texto.
WM_SETICON Asocia un nuevo icono grande o pequeño a una ventana. El sistema muestra el icono grande en el cuadro de diálogo ALT+TAB y el icono pequeño de la ventana subtítulo.
WM_SETTEXT Establece el texto de una ventana.

 

Notificaciones de ventana

Nombre Descripción
WM_ACTIVATEAPP Se envía cuando una ventana que pertenece a una aplicación diferente de la ventana activa está a punto de activarse. El mensaje se envía a la aplicación cuya ventana se está activando y a la aplicación cuya ventana se está desactivando.
Una ventana recibe este mensaje mediante la función WindowProc.
WM_CANCELMODE Se envía para cancelar determinados modos, como la captura del mouse. Por ejemplo, el sistema envía este mensaje a la ventana activa cuando se muestra un cuadro de diálogo o un cuadro de mensaje. Algunas funciones también envían este mensaje explícitamente a la ventana especificada, independientemente de si es la ventana activa. Por ejemplo, la función EnableWindow envía este mensaje al deshabilitar la ventana especificada.
WM_CHILDACTIVATE Se envía a una ventana secundaria cuando el usuario hace clic en la barra de título de la ventana o cuando se activa, mueve o se ajusta la ventana.
WM_CLOSE Se envía como señal de que una ventana o una aplicación deben finalizar.
WM_COMPACTING Se envía a todas las ventanas de nivel superior cuando el sistema detecta más del 12,5 % del tiempo del sistema durante un intervalo de 30 a 60 segundos se dedica a compactar la memoria. Esto indica que la memoria del sistema es baja.
WM_CREATE Se envía cuando una aplicación solicita que se cree una ventana mediante una llamada a la CreateWindowEx o función CreateWindow. (El mensaje se envía antes de que la función devuelva). El procedimiento de ventana de la nueva ventana recibe este mensaje después de crear la ventana, pero antes de que la ventana sea visible.
WM_DESTROY Se envía cuando se destruye una ventana. Se envía al procedimiento de ventana de la ventana que se destruye después de quitar la ventana de la pantalla.
Este mensaje se envía primero a la ventana que se destruye y, a continuación, a las ventanas secundarias (si las hay) a medida que se destruyen. Durante el procesamiento del mensaje, se puede suponer que todavía existen todas las ventanas secundarias.
WM_ENABLE Se envía cuando una aplicación cambia el estado habilitado de una ventana. Se envía a la ventana cuyo estado habilitado está cambiando. Este mensaje se envía antes de que se devuelva la función EnableWindow, pero después de que el estado habilitado (WS_DISABLED bit de estilo) de la ventana haya cambiado.
WM_ENTERSIZEMOVE Se envía una vez a una ventana después de entrar en el bucle modal de movimiento o ajuste de tamaño. La ventana entra en el bucle modal de movimiento o ajuste de tamaño cuando el usuario hace clic en la barra de título o borde de tamaño de la ventana, o cuando la ventana pasa el mensaje de WM_SYSCOMMAND a la función DefWindowProc y el parámetro wParam del mensaje especifica el SC_MOVE o valor de SC_SIZE. La operación se completa cuando se devuelve DefWindowProc.
El sistema envía el mensaje WM_ENTERSIZEMOVE independientemente de si está habilitado el arrastre de ventanas completas.
WM_ERASEBKGND Se envía cuando se debe borrar el fondo de la ventana (por ejemplo, cuando se cambia el tamaño de una ventana). El mensaje se envía para preparar una parte invalidada de una ventana para pintar.
WM_EXITSIZEMOVE Se envía una vez a una ventana, después de salir del bucle modal móvil o de ajuste de tamaño. La ventana entra en el bucle modal de movimiento o ajuste de tamaño cuando el usuario hace clic en la barra de título o borde de tamaño de la ventana, o cuando la ventana pasa el mensaje de WM_SYSCOMMAND a la función DefWindowProc y el parámetro wParam del mensaje especifica el SC_MOVvalor E o SC_SIZE. La operación se completa cuando se devuelve DefWindowProc.
WM_GETICON Se envía a una ventana para recuperar un identificador al icono grande o pequeño asociado a una ventana. El sistema muestra el icono grande en el cuadro de diálogo ALT+TAB y el icono pequeño en el título de la ventana.
WM_GETMINMAXINFO Se envía a una ventana cuando el tamaño o la posición de la ventana está a punto de cambiar. Una aplicación puede usar este mensaje para invalidar el tamaño y la posición maximizados predeterminados de la ventana, o su tamaño mínimo o máximo de seguimiento predeterminado.
WM_INPUTLANGCHANGE Se envía a la ventana afectada superior cuando cambia el idioma de entrada de una aplicación. Debe definir cualquier configuración específica de la aplicación y pasar el mensaje a la función DefWindowProc, que pasa el mensaje a todas las ventanas secundarias de primer nivel. Estas ventanas secundarias pueden pasar el mensaje a DefWindowProc para que lo pase a sus ventanas secundarias y así sucesivamente.
WM_INPUTLANGCHANGEREQUEST Publicado en la ventana con el foco cuando el usuario elige un nuevo idioma de entrada, ya sea con la tecla de acceso rápido (especificada en la aplicación panel de control de teclado) o desde el indicador de la barra de tareas del sistema. Una aplicación puede aceptar el cambio pasando el mensaje a la función de DefWindowProc o rechazar el cambio (y evitar que se produzca) devolviendo inmediatamente.
WM_MOVE Se envía después de mover una ventana.
WM_MOVING Se envía a una ventana que el usuario está moviendo. Al procesar este mensaje, una aplicación puede supervisar la posición del rectángulo de arrastre y, si es necesario, cambiar su posición.
WM_NCACTIVATE Se envía a una ventana cuando su área no cliente debe cambiarse para indicar un estado activo o inactivo.
WM_NCCALCSIZE Se envía cuando se debe calcular el tamaño y la posición del área cliente de una ventana. Al procesar este mensaje, una aplicación puede controlar el contenido del área cliente de la ventana cuando cambia el tamaño o la posición de la ventana.
WM_NCCREATE Se envía antes del mensaje de WM_CREATE cuando se crea una ventana por primera vez.
WM_NCDESTROY Informa a una ventana de que se está destruyendo su área no cliente. La función DestroyWindow envía el mensaje WM_NCDESTROY a la ventana que sigue al mensaje de WM_DESTROY. WM_DESTROY se usa para liberar el objeto de memoria asignado asociado a la ventana.
El mensaje WM_NCDESTROY se envía después de que se hayan destruido las ventanas secundarias. En cambio, WM_DESTROY se envía antes de que se destruyan las ventanas secundarias.
WM_NULL No realiza ninguna operación. Una aplicación envía el mensaje WM_NULL si quiere publicar un mensaje que omitirá la ventana del destinatario.
WM_PARENTNOTIFY Se envía al elemento primario de una ventana secundaria cuando se crea o destruye la ventana secundaria, o cuando el usuario hace clic en un botón del mouse mientras el cursor está sobre la ventana secundaria. Cuando se crea la ventana secundaria, el sistema envía WM_PARENTNOTIFY justo antes del CreateWindow o función CreateWindowEx que crea la ventana. Cuando se destruye la ventana secundaria, el sistema envía el mensaje antes de que se produzca cualquier procesamiento para destruir la ventana.
WM_QUERYDRAGICON Enviado a una ventana minimizada (emblemática). El usuario está a punto de arrastrar la ventana, pero no tiene definido un icono para su clase. Una aplicación puede devolver un identificador a un icono o cursor. El sistema muestra este cursor o icono mientras el usuario arrastra el icono.
WM_QUERYOPEN Se envía a un icono cuando el usuario solicita que la ventana se restaure a su tamaño y posición anteriores.
WM_QUIT Indica una solicitud para finalizar una aplicación y se genera cuando la aplicación llama a la función PostQuitMessage. Hace que la función GetMessagedevuelva cero.
WM_SHOWWINDOW Se envía a una ventana cuando la ventana está a punto de ocultarse o mostrarse.
WM_SIZE Se envía a una ventana después de cambiar su tamaño.
WM_SIZING Se envía a una ventana a la que el usuario va a cambiar el tamaño. Al procesar este mensaje, una aplicación puede supervisar el tamaño y la posición del rectángulo de arrastre y, si fuera necesario, cambiar su tamaño o posición.
WM_STYLECHANGED Ssent a una ventana después de que la función SetWindowLong haya cambiado uno o varios de los estilos de la ventana.
WM_STYLECHANGING Se envía a una ventana cuando la función SetWindowLong está a punto de cambiar uno o varios de los estilos de la ventana.
WM_THEMECHANGED Difundir a cada ventana después de un evento de cambio de tema. Algunos ejemplos de eventos de cambio de tema son la activación de un tema, la desactivación de un tema o una transición de un tema a otro.
WM_USERCHANGED Se envía a todas las ventanas después de que el usuario haya iniciado sesión o desactivado. Cuando el usuario inicia o desactiva la sesión, el sistema actualiza la configuración específica del usuario. El sistema envía este mensaje inmediatamente después de actualizar la configuración.
WM_WINDOWPOSCHANGED Enviado a una ventana cuyo tamaño, posición o lugar en el orden Z ha cambiado como resultado de una llamada a la función SetWindowPos u otra función de administración de ventanas.
WM_WINDOWPOSCHANGING Se envía a una ventana cuyo tamaño, posición o lugar en el orden Z está a punto de cambiar como resultado de una llamada a la función SetWindowPos u otra función de administración de ventanas.

 

Estructuras de ventana

Nombre Descripción
ALTTABINFO Contiene información de estado para la ventana de conmutación de aplicaciones (ALT+TAB).
CHANGEFILTERSTRUCT Contiene información de resultados extendida obtenida llamando a la función ChangeWindowMessageFilterEx.
CLIENTCREATESTRUCT Contiene información sobre el menú y la primera ventana secundaria de la interfaz de varios documentos (MDI) de una ventana de cliente MDI. Una aplicación pasa un puntero a esta estructura como el parámetro lpParam de la función CreateWindow al crear una ventana de cliente MDI.
CREATESTRUCT Define los parámetros de inicialización pasados al procedimiento de ventana de una aplicación. Estos miembros son idénticos a los parámetros de la función de CreateWindowEx.
GUITHREADINFO Contiene información sobre un subproceso de GUI.
MINMAXINFO Contiene información sobre el tamaño y la posición maximizados de una ventana y su tamaño de seguimiento mínimo y máximo.
NCCALCSIZE_PARAMS Contiene información que una aplicación puede usar al procesar el mensaje de WM_NCCALCSIZE para calcular el tamaño, la posición y el contenido válido del área cliente de una ventana.
STYLESTRUCT Contiene los estilos de una ventana.
TITLEBARINFO Contiene información de la barra de título.
TITLEBARINFOEX Expande la información descrita en la estructura TITLEBARINFO incluyendo las coordenadas de cada elemento de la barra de título.
UPDATELAYEREDWINDOWINFO Usado por UpdateLayeredWindowIndirect para proporcionar información de posición, tamaño, forma, contenido y translucencia para una ventana superpuesta.
WINDOWINFO Contiene información de ventana.
WINDOWPLACEMENT Contiene información sobre la colocación de una ventana en la pantalla.
WINDOWPOS Contiene información sobre el tamaño y la posición de una ventana.

 

Constantes de ventana

Nombre Descripción
Estilos de ventana extendidos Estilos que se pueden especificar siempre que se requiera un estilo de ventana extendido.
Estilos de ventana Estilos que se pueden especificar siempre que se requiera un estilo de ventana. Una vez creado el control, estos estilos no pueden modificarse, salvo en los casos indicados.