Partilhar via


Classe CFrameWnd

Fornece a funcionalidade de um Windows única interface de documento (SDI) sobrepostas ou janela pop-up quadro, juntamente com os membros para gerenciar a janela.

class CFrameWnd : public CWnd

Comentários

Para criar uma janela do quadro útil para seu aplicativo, derivar uma classe de CFrameWnd. Adicione variáveis de membros para a classe derivada para armazenar dados específicos para seu aplicativo.Implementar funções de membro de manipulador de mensagens e uma mensagem de mapeiam na classe derivada para especificar o que acontece quando mensagens são direcionadas para a janela.

Há três maneiras de se construir uma janela do quadro:

  • Diretamente construí-la usando Criar.

  • Diretamente construí-la usando LoadFrame.

  • Indiretamente construí-la usando um modelo de documento.

Antes você chamar um dos Criar or LoadFrame, você deve construir o objeto da janela de quadro na pilha usando o C++ novo operador.Antes de chamar Criar, também é possível registrar uma classe de janela com o AfxRegisterWndClass função global para conjunto os estilos de ícone e classe do quadro.

Use o Criarfunção de membro para passar parâmetros de criação do quadro imediatos sistema autônomo argumentos.

LoadFrame requer menos argumentos que Criar e, em vez disso, recupera a maioria dos seus valores padrão de recursos, inclusive o quadro legenda, ícone, tabela de acelerador e menu.Para que sejam acessíveis por LoadFrame, todos esses recursos devem tiverem a mesma ID de recurso (por exemplo, IDR_MAINFRAME).

Quando um CFrameWnd objeto contém modos de exibição e documentos, eles são criados indiretamente pela estrutura, em vez de diretamente pelo programador. The CDocTemplate objeto coordena a criação do quadro, a criação de modos de exibição que contém e a conexão dos modos de exibição para o documento apropriado. Os parâmetros do CDocTemplate construtor especificar o CRuntimeClass das três classes envolvidas (documentos, quadro e modo de exibição). A CRuntimeClass objeto é usado pela estrutura para criar dinamicamente novas molduras quando especificado pelo usuário (por exemplo, usando o comando arquivo novo ou o comando nova janela do documento MDI (interface) múltiplos).

Uma classe de janela de quadro derivada de CFrameWnd deve ser declarado com DECLARE_DYNCREATE para que os itens acima RUNTIME_CLASS mecanismo para funcionar corretamente.

A CFrameWnd contém implementações padrão para executar as seguintes funções de uma janela principal em um aplicativo típico para o Windows:

  • A CFrameWnd janela de quadro mantém registro de um modo de exibição ativo no momento que é independente da janela ativa do Windows ou o foco de entrada corrente. Quando o quadro é reativado, o modo de exibição ativo é notificado chamando CView::OnActivateView.

  • Comando mensagens e muitas mensagens de notificação de quadro comuns, incluindo aquelas manipuladas pelo OnSetFocus, OnHScroll, e OnVScroll funções do CWnd, delegada por um CFrameWnd janela de quadro para a exibição ativo no momento.

  • A exibição ativo no momento (ou janela atualmente ativo MDI filho quadro no caso de um quadro MDI) pode determinar a legenda da janela do quadro.Esse recurso pode ser desabilitado desligando o FWS_ADDTOTITLE bit de estilo da janela do quadro.

  • A CFrameWnd janela de quadro gerencia o posicionamento das outras janelas filho dentro área de cliente da janela do quadro de, modos de exibição e as barras de controle. Uma janela de quadro também faz a atualização de time ocioso do BAR de ferramentas e outros botões da BAR de controle.A CFrameWnd janela de quadro também tem implementações padrão de comandos de alternância e desativar a BAR de ferramentas e BAR de status.

  • A CFrameWnd janela de quadro gerencia a BAR de menus principal. Quando um menu pop-up é exibido, a janela do quadro usa o UPDATE_COMMAND_UI mecanismo para determinar quais itens de menu devam ser ativado, desabilitado ou marcado.Quando o usuário seleciona um item de menu, a janela do quadro atualiza a BAR de status com a cadeia de caracteres da mensagem para esse comando.

  • A CFrameWnd janela de quadro tem uma tabela de acelerador opcional converte automaticamente os aceleradores de teclado.

  • A CFrameWnd janela de quadro possui uma ID de ajuda opcional com LoadFrame usado para contexto-ajuda sensível. Uma janela de quadro é o principal orchestrator semimodal estados sistema autônomo ajuda contextual (deslocar+F1) e modos de visualização de impressão.

  • A CFrameWnd janela de quadro irá em em aberto um arquivo do Gerenciador de arquivos de arrastado e solto na janela do quadro. Se uma extensão de arquivo é registrada e associada ao aplicativo, a janela do quadro responde à dinâmico de dados DDE (intercâmbio) em aberto solicitação que ocorre quando o usuário abre um arquivo de dados no Gerenciador de arquivos ou quando o ShellExecute Função do Windows é chamada.

  • Se a janela de quadro estiver na janela principal do aplicativo (ou seja, CWinThread::m_pMainWnd), quando o usuário fecha o aplicativo, a janela do quadro solicita ao usuário salvar documentos modificados (para OnClose e OnQueryEndSession).

  • Se a janela de quadro estiver na janela principal do aplicativo, a janela do quadro é o contexto para a execução do WinHelp.Fechar a janela de quadro será desligado WINHELP.EXE se ele foi iniciado para obter ajuda para este aplicativo.

Não usar o C++ Excluir operador destruir uma janela do quadro.Use CWnd::DestroyWindow em vez disso. The CFrameWnd implementação do PostNcDestroy excluirá o objeto C++ quando a janela é destruída. Quando o usuário fecha a janela do quadro, o padrão de OnClose manipulador será telefonar DestroyWindow.

Para obter mais informações sobre o CFrameWnd, consulte Quadro Windows.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CWnd

Gráfico de hierarquia

Classe CWnd

Classe CMDIFrameWnd

Classe CMDIChildWnd

Classe CView

Classe CDocTemplate

Estrutura CRuntimeClass

Outros recursos

Membros CFrameWnd