Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
MFC proporciona la clase CWnd para encapsular el identificador HWND de una ventana. El CWnd objeto es un objeto de ventana de C++, distinto del HWND que representa una ventana de Windows, pero que la contiene. Use CWnd para derivar sus propias clases de ventanas hijas o use una de las muchas clases MFC derivadas de CWnd. Class CWnd es la clase base para todas las ventanas, incluidas ventanas de marco, cuadros de diálogo, ventanas secundarias, controles y barras de control, como barras de herramientas. Una buena comprensión de la relación entre un objeto de ventana de C++ y un HWND es fundamental para una programación eficaz con MFC.
MFC proporciona alguna funcionalidad predeterminada y administración de ventanas, pero puede derivar su propia clase de CWnd y usar sus funciones miembro para personalizar la funcionalidad proporcionada. Puede crear ventanas secundarias construyendo un objeto CWnd y llamando a su función miembro Crear; luego puede personalizar las ventanas secundarias usando funciones miembro CWnd. Puede insertar objetos derivados de CView, como vistas de formulario o vistas de árbol, en una ventana de marco. Y puede admitir varias vistas de los documentos a través de paneles divisores, proporcionados por la clase CSplitterWnd.
Cada objeto derivado de la clase CWnd contiene un mapa de mensajes, a través del cual puede asignar mensajes de Windows o identificadores de comandos a sus propios controladores.
La literatura general sobre la programación para Windows es un buen recurso para aprender a usar las CWnd funciones miembro, que encapsulan las HWND API.
Funciones para funcionar en un CWnd
CWnd y sus clases de ventana derivadas proporcionan constructores, destructores y funciones miembro para inicializar el objeto, crear las estructuras subyacentes de Windows y acceder al encapsulado HWND. CWnd también proporciona funciones miembro que encapsulan las API de Windows para enviar mensajes, acceder al estado de la ventana, convertir coordenadas, actualizar, desplazarse, acceder al Portapapeles y muchas otras tareas. La mayoría de las API de administración de ventanas de Windows que toman un HWND argumento se encapsulan como funciones miembro de CWnd. Los nombres de las funciones y sus parámetros se conservan en la CWnd función miembro. Para obtener más información sobre las API de Windows encapsuladas por CWnd, vea la clase CWnd.
CWnd y mensajes de Windows
Uno de los principales propósitos de CWnd es proporcionar una interfaz para controlar mensajes de Windows, como WM_PAINT o WM_MOUSEMOVE. Muchas de las funciones miembro de CWnd son controladores para los mensajes estándar, que comienzan con el identificador afx_msg y el prefijo "Activado", como OnPaint y OnMouseMove. El manejo y mapeo de mensajes cubre los mensajes y su manejo en detalle. La información se aplica igualmente a las ventanas del entorno y a las que creas tú mismo con fines especiales.
¿Qué quieres saber más sobre
Contextos de dispositivo: objetos que hacen que el dispositivo de dibujo de Windows sea independiente
Objetos gráficos: lápices, pinceles, fuentes, mapas de bits, paletas, regiones