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