Compartir a través de


CFrameWnd Class

Proporciona la funcionalidad de una ventana superpuesta (SDI) móvil o de interfaz de un único documento de Windows en el cuadro, junto con los miembros para administrar la ventana.

class CFrameWnd : public CWnd

Members

Constructores públicos

Name

Descripción

CFrameWnd::CFrameWnd

Crea un objeto CFrameWnd.

Métodos públicos

Name

Descripción

CFrameWnd::ActivateFrame

Coloca el cuadro visible y a disposición del usuario.

CFrameWnd::BeginModalState

Establece la ventana cuadro a modal.

CFrameWnd::Create

Llame a para crear e inicializar la ventana cuadro de Windows asociado al objeto de CFrameWnd .

CFrameWnd::CreateView

Crea una vista dentro de un marco que no es derivado de CView.

CFrameWnd::DockControlBar

Acopla una barra de controles.

CFrameWnd::EnableDocking

Permite que una barra de control es acoplada.

CFrameWnd::EndModalState

Finalizar el estado modal de la ventana de marco. habilita todas las ventanas deshabilitadas por BeginModalState.

CFrameWnd::FloatControlBar

Flota una barra de controles.

CFrameWnd::GetActiveDocument

devuelve el objeto activo de CDocument .

CFrameWnd::GetActiveFrame

devuelve el objeto activo de CFrameWnd .

CFrameWnd::GetActiveView

devuelve el objeto activo de CView .

CFrameWnd::GetControlBar

recupera la barra de control.

CFrameWnd::GetDockState

Recupera el estado de vinculación de una ventana de marco.

CFrameWnd::GetMenuBarState

Recupera el estado de la presentación del menú en la aplicación MFC actual.

CFrameWnd::GetMenuBarVisibility

Indica si el comportamiento predeterminado del menú en la aplicación MFC actual está oculto o visible.

CFrameWnd::GetMessageBar

Devuelve un puntero a la barra de estado correspondiente a la ventana de marco.

CFrameWnd::GetMessageString

Recupera el mensaje correspondiente a un identificador de comando

CFrameWnd::GetTitle

Recupera el título de la barra de control relacionada.

CFrameWnd::InitialUpdateFrame

Hace que la función miembro de OnInitialUpdate correspondiente a todas las vistas en la ventana de marco que se va a llamar.

CFrameWnd::InModalState

Devuelve un valor que indica si una ventana de marco está en un estado modal.

CFrameWnd::IsTracking

Determina si la barra de división se mueve actualmente.

CFrameWnd::LoadAccelTable

Llamada para cargar una tabla de aceleradores.

CFrameWnd::LoadBarState

Llame a para restaurar valores de barra de control.

CFrameWnd::LoadFrame

Llamada para crear dinámicamente una ventana cuadro de información de recursos.

CFrameWnd::NegotiateBorderSpace

Negocia el espacio del borde de la ventana de marco.

CFrameWnd::OnBarCheck

Denominado siempre que una acción se realice en la barra de control especificada.

CFrameWnd::OnContextHelp

Ayuda de identificadores MAYÚS+F1 para los elementos de contexto.

CFrameWnd::OnSetPreviewMode

Establece la ventana de marco principal de la aplicación en y fuera de modo vista previa de impresión.

CFrameWnd::OnUpdateControlBarMenu

Llamado por el marco cuando se actualiza el menú asociado.

CFrameWnd::RecalcLayout

Coloca las barras de control de nuevo del objeto de CFrameWnd .

CFrameWnd::SaveBarState

Llamada para guardar valores de barra de control.

CFrameWnd::SetActivePreviewView

Seleccione la vista especificada sea la vista activa para la vista previa enriquecidas.

CFrameWnd::SetActiveView

establece el objeto activo de CView .

CFrameWnd::SetDockState

Llamada para acoplar la ventana cuadro en la ventana principal.

CFrameWnd::SetMenuBarState

Establece el estado de la presentación del menú en la aplicación MFC actual oculta o muestra.

CFrameWnd::SetMenuBarVisibility

Establece el comportamiento predeterminado del menú en la aplicación MFC actual para ocultar o visible.

CFrameWnd::SetMessageText

establece el texto de una barra de estado estándar.

CFrameWnd::SetProgressBarPosition

Establece la posición actual para la barra de progreso de Windows 7 mostrada respecto a la barra de tareas.

CFrameWnd::SetProgressBarRange

Los conjuntos se amplían para la barra de progreso de Windows 7 mostrada en la barra de tareas.

CFrameWnd::SetProgressBarState

Establece el tipo y el estado del indicador de progreso mostrado en un botón de la barra de tareas.

CFrameWnd::SetTaskbarOverlayIcon

Sobrecargado. Aplica una superposición a un botón de la barra de tareas para indicar el estado de aplicación o una notificación al usuario.

CFrameWnd::SetTitle

Establece el título de la barra de control relacionada.

CFrameWnd::ShowControlBar

llamada para mostrar la barra de control.

CFrameWnd::ShowOwnedWindows

Muestra todas las ventanas que son descendientes del objeto de CFrameWnd .

Métodos protegidos

Name

Descripción

CFrameWnd::OnCreateClient

Crea una ventana del cliente para el cuadro.

CFrameWnd::OnHideMenuBar

Se llama antes de menú en la aplicación MFC actual se oculta.

CFrameWnd::OnShowMenuBar

Se llama antes de menú en la aplicación MFC actual se muestra.

Miembros de datos públicos

Name

Descripción

CFrameWnd::m_bAutoMenuEnable

Permiso automático de Controles y funcionalidad deshabilitada para elementos de menú.

CFrameWnd::rectDefault

Pase este CRect estático como parámetro al crear un objeto de CFrameWnd para permitir que Windows elija el tamaño inicial y la posición de la ventana.

Comentarios

Para crear una ventana útil del cuadro para la aplicación, derive una clase de CFrameWnd. Agregue las variables miembro a la clase derivada a concreto almacenado de datos a la aplicación. El miembro del controlador de mensajes de implemente funciones y un mapa de mensajes en la clase derivada para especificar lo que ocurre cuando los mensajes se dirigen a la ventana.

Hay tres maneras de crear una ventana de marco:

  • Construyalo directamente mediante Crear.

  • Construyalo directamente mediante LoadFrame.

  • Construyalo indirectamente mediante una plantilla de documento.

Antes de llamar a Crear o LoadFrame, debe crear el objeto de la ventana de marco en la pila mediante el operador de C++ nuevo . Antes de llamar a Crear, también puede registrar una clase de ventana con la función global de Clase para establecer los estilos de icono y de clase del cuadro.

Utilice la función miembro de Crear para pasar los parámetros de creación de cuadro como argumentos inmediatos.

LoadFrame requiere menos argumentos que Creary, en su lugar recupera la mayoría de los valores predeterminados de recursos, incluida la leyenda del cuadro, el icono, la tabla de aceleradores, y el menú. para ser accesibles por LoadFrame, todos estos recursos deben tener el mismo Id. de recurso (por ejemplo, IDR_MAINFRAME).

Cuando un objeto de CFrameWnd contiene vistas y documentos, se crean indirectamente el marco en lugar directamente por el programador. El objeto de CDocTemplate orquestra la creación del marco, la creación de vistas que contienen, y la conexión de las vistas al documento adecuado. Los parámetros de constructor de CDocTemplate especifican CRuntimeClass de las tres clases implicadas (documento, cuadro, y vista). Un objeto de CRuntimeClass se utiliza el marco para crear dinámicamente los nuevos cuadros cuando es especificado por el usuario (por ejemplo, utilizando el comando de Archivo Nuevo o el comando (MDI) New de la ventana de la interfaz de múltiples documentos).

Una clase de la ventana de marco derivada de CFrameWnd se debe declarar con DECLARE_DYNCREATE para que el mecanismo anterior de RUNTIME_CLASS funcione correctamente.

CFrameWnd contiene implementaciones predeterminadas para realizar las siguientes funciones de una ventana principal en una aplicación típica para Windows:

  • Una ventana de cuadro de CFrameWnd realiza un seguimiento de la vista activa de a actualmente que es independiente de la ventana activa de Windows o de foco actual. Cuando se reactiva el cuadro, la vista activa es notificada llamando a CView::OnActivateView.

  • Los mensajes de comando y muchos mensajes comunes de la cuadro-notificación, incluidos los administrados por OnSetFocus, OnHScroll, y las funciones de OnVScroll de CWnd, son delegados en una ventana del cuadro de CFrameWnd actualmente a la vista activa.

  • Actualmente la vista activa (o actualmente la ventana secundaria activa de marco MDI en el caso de un marco MDI) puede determinar la leyenda de la ventana de marco. Esta característica puede deshabilitarse desactivando el bit de estilo de FWS_ADDTOTITLE de la ventana de marco.

  • Una ventana de cuadro de CFrameWnd administra la posición de las barras de controles, las vistas, y otras ventanas secundarias dentro del área de cliente de la ventana de marco. Una ventana de marco también hace actualizar en tiempo de inactividad de la barra de herramientas y otros botones de barra de control. Una ventana de cuadro de CFrameWnd también tiene implementaciones predeterminadas de los comandos para activar y desactivar la barra de herramientas y la barra de estado.

  • Una ventana de cuadro de CFrameWnd administra la barra de menú principal. Cuando se muestra un menú emergente, la ventana de marco utiliza el mecanismo de UPDATE_COMMAND_UI para determinar qué elementos de menú deben habilitar, deshabilitar, o comprobarse. Cuando el usuario selecciona un elemento de menú, la ventana de marco actualiza la barra de estado con la cadena de mensaje para ese comando.

  • Una ventana de cuadro de CFrameWnd tiene una tabla opcional de aceleradores que automáticamente de los aceleradores de teclado.

  • Una ventana de cuadro de CFrameWnd tiene un identificador opcional de ayuda establecido con LoadFrame que se utiliza para ayuda contextual. Una ventana de marco es el organizador principal de estados semimodal como modos de ayuda contextual (MAYÚS+F1) y de la vista previa de impresión.

  • Una ventana de cuadro de CFrameWnd abrirá un archivo arrastrando el administrador de programas y colocado en la ventana de marco. Si una extensión es registrada y asociado a la aplicación, la ventana de marco responde al intercambio de datos dinámicos (DDE) abra la solicitud que aparece cuando el usuario abra un archivo de datos en el administrador de archivos o cuando se llama a la función de ShellExecute Windows.

  • Si la ventana de marco es la ventana principal de la aplicación (es decir, CWinThread::m_pMainWnd), cuando el usuario cierra la aplicación, la ventana de marco pide al usuario guardar cualquier documento modificado (para OnClose y OnQueryEndSession).

  • Si la ventana de marco es la ventana principal de la aplicación, la ventana de marco es el contexto para ejecutar WinHelp. Cerrar la ventana de marco se cerrará WINHELP.EXE si se inició para obtener ayuda para esta aplicación.

No utilice el operador de C++ cancelación destruir una ventana de marco. Utilice CWnd::DestroyWindow en su lugar. La implementación de CFrameWnd de PostNcDestroy eliminará el objeto C++ cuando se destruye la ventana. Cuando el usuario cierra la ventana de marco, el controlador predeterminado de OnClose llamará DestroyWindow.

Para obtener más información sobre CFrameWnd, vea cuadro Windows.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CFrameWnd

Requisitos

Encabezado: afxwin.h

Vea también

Referencia

CWnd (Clase)

Gráfico de jerarquías

CWnd (Clase)

CMDIFrameWnd (Clase)

CMDIChildWnd (Clase)

CView (Clase)

CDocTemplate Class

CRuntimeClass (Estructura)