Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Fornece a funcionalidade de uma janela de quadro pop-up ou sobreposta de interface de documento único (SDI) do Windows, juntamente com membros para gerenciar a janela.
Sintaxe
class CFrameWnd : public CWnd
Membros
Construtores Públicos
| Nome | Descrição |
|---|---|
CFrameWnd::CFrameWnd |
Constrói um objeto CFrameWnd. |
Métodos Públicos
| Nome | Descrição |
|---|---|
CFrameWnd::ActivateFrame |
Torna o quadro visível e disponível para o usuário. |
CFrameWnd::BeginModalState |
Define a janela do quadro como modal. |
CFrameWnd::Create |
Chamada para criar e inicializar a janela de quadro do Windows associada ao CFrameWnd objeto. |
CFrameWnd::CreateView |
Cria um modo de exibição dentro de um quadro que não é derivado do CView. |
CFrameWnd::DockControlBar |
Encaixa uma barra de controle. |
CFrameWnd::EnableDocking |
Permite encaixar uma barra de controle. |
CFrameWnd::EndModalState |
Termina o estado modal da janela do quadro. Habilita todas as janelas desabilitadas pelo BeginModalState. |
CFrameWnd::FloatControlBar |
Flutua uma barra de controle. |
CFrameWnd::GetActiveDocument |
Retorna o objeto ativo CDocument . |
CFrameWnd::GetActiveFrame |
Retorna o objeto ativo CFrameWnd . |
CFrameWnd::GetActiveView |
Retorna o objeto ativo CView . |
CFrameWnd::GetControlBar |
Recupera a barra de controle. |
CFrameWnd::GetDockState |
Recupera o estado do dock de uma janela de quadro. |
CFrameWnd::GetMenuBarState |
Recupera o estado de exibição do menu no aplicativo MFC atual. |
CFrameWnd::GetMenuBarVisibility |
Indica se o comportamento padrão do menu no aplicativo MFC atual está oculto ou visível. |
CFrameWnd::GetMessageBar |
Retorna um ponteiro para a barra de status pertencente à janela do quadro. |
CFrameWnd::GetMessageString |
Recupera a mensagem correspondente a um ID de comando. |
CFrameWnd::GetTitle |
Recupera o título da barra de controle relacionada. |
CFrameWnd::InitialUpdateFrame |
Faz com que a OnInitialUpdate função de membro pertencente a todos os modos de exibição na janela do quadro seja chamada. |
CFrameWnd::InModalState |
Retorna um valor que indica se uma janela de quadro está ou não em um estado modal. |
CFrameWnd::IsTracking |
Determina se a barra divisória está sendo movida no momento. |
CFrameWnd::LoadAccelTable |
Chamada para carregar uma tabela aceleradora. |
CFrameWnd::LoadBarState |
Ligue para restaurar as configurações da barra de controle. |
CFrameWnd::LoadFrame |
Chamada para criar dinamicamente uma janela de quadro a partir das informações do recurso. |
CFrameWnd::NegotiateBorderSpace |
Negocia o espaço da borda na janela do quadro. |
CFrameWnd::OnBarCheck |
Chamado sempre que uma ação é executada na barra de controle especificada. |
CFrameWnd::OnContextHelp |
Manipula a Ajuda SHIFT+F1 para itens in-loco. |
CFrameWnd::OnSetPreviewMode |
Define a janela do quadro principal do aplicativo para dentro e para fora do modo de visualização de impressão. |
CFrameWnd::OnUpdateControlBarMenu |
Chamado pela estrutura quando o menu associado é atualizado. |
CFrameWnd::RecalcLayout |
Reposiciona as barras de controle do CFrameWnd objeto. |
CFrameWnd::SaveBarState |
Ligue para salvar as configurações da barra de controle. |
CFrameWnd::SetActivePreviewView |
Designa o modo de exibição especificado como o modo de exibição ativo para Rich Preview. |
CFrameWnd::SetActiveView |
Define o objeto ativo CView . |
CFrameWnd::SetDockState |
Ligue para encaixar a janela do quadro na janela principal. |
CFrameWnd::SetMenuBarState |
Define o estado de exibição do menu no aplicativo MFC atual como oculto ou exibido. |
CFrameWnd::SetMenuBarVisibility |
Define o comportamento padrão do menu no aplicativo MFC atual como oculto ou visível. |
CFrameWnd::SetMessageText |
Define o texto de uma barra de status padrão. |
CFrameWnd::SetProgressBarPosition |
Define a posição atual da barra de progresso do Windows 7 exibida na barra de tarefas. |
CFrameWnd::SetProgressBarRange |
Define o intervalo para a barra de progresso do Windows 7 exibida na barra de tarefas. |
CFrameWnd::SetProgressBarState |
Define o tipo e o estado do indicador de progresso exibido em um botão da barra de tarefas. |
CFrameWnd::SetTaskbarOverlayIcon |
Sobrecarregado. Aplica uma sobreposição a um botão da barra de tarefas para indicar o status do aplicativo ou uma notificação ao usuário. |
CFrameWnd::SetTitle |
Define o título da barra de controle relacionada. |
CFrameWnd::ShowControlBar |
Chamada para mostrar a barra de controle. |
CFrameWnd::ShowOwnedWindows |
Mostra todas as janelas que são descendentes do CFrameWnd objeto. |
Métodos Protegidos
| Nome | Descrição |
|---|---|
CFrameWnd::OnCreateClient |
Cria uma janela de cliente para o quadro. |
CFrameWnd::OnHideMenuBar |
Chamado antes que o menu no aplicativo MFC atual esteja oculto. |
CFrameWnd::OnShowMenuBar |
Chamado antes que o menu no aplicativo MFC atual seja exibido. |
Membros de Dados Públicos
| Nome | Descrição |
|---|---|
CFrameWnd::m_bAutoMenuEnable |
Controla automaticamente, habilita e desabilita a funcionalidade para itens de menu. |
CFrameWnd::rectDefault |
Passe essa estática CRect como um parâmetro ao criar um CFrameWnd objeto para permitir que o Windows escolha o tamanho e a posição iniciais da janela. |
Observações
Para criar uma janela de quadro útil para seu aplicativo, derive uma classe de CFrameWnd. Adicione variáveis de membro à classe derivada para armazenar dados específicos do seu aplicativo. Implemente funções de membro do manipulador de mensagens e um mapa de mensagens na classe derivada para especificar o que acontece quando as mensagens são direcionadas para a janela.
Há três maneiras de construir uma janela de quadro:
Construa-o diretamente usando
Create.Construa-o diretamente usando
LoadFrame.Construa-o indiretamente usando um modelo de documento.
Antes de chamar um ou CreateLoadFrame, você deve construir o objeto frame-window no heap usando o operador C++ new . Antes de chamar Create, você também pode registrar uma classe de janela com a AfxRegisterWndClass função global para definir o ícone e os estilos de classe para o quadro.
Use a Create função de membro para passar os parâmetros de criação do quadro como argumentos imediatos.
LoadFrame requer menos argumentos do que Createo , e, em vez disso, recupera a maioria de seus valores padrão de recursos, incluindo legenda, ícone, tabela aceleradora e menu do quadro. Para serem acessíveis pelo LoadFrame, todos esses recursos devem ter a mesma ID de recurso (por exemplo, IDR_MAINFRAME).
Quando um CFrameWnd objeto contém visualizações e documentos, eles são criados indiretamente pela estrutura em vez de diretamente pelo programador. O CDocTemplate objeto orquestra a criação do quadro, a criação dos modos de exibição que contêm e a conexão dos modos de exibição com o documento apropriado. Os parâmetros do CDocTemplate construtor especificam as CRuntimeClass três classes envolvidas (documento, quadro e exibição). Um CRuntimeClass objeto é usado pela estrutura para criar dinamicamente novos quadros quando especificado pelo usuário (por exemplo, usando o comando File New ou o comando Window New da interface de documentos múltiplos (MDI)).
Uma classe frame-window derivada de deve ser declarada CFrameWnd com DECLARE_DYNCREATE para que o mecanismo acima RUNTIME_CLASS funcione 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 Windows:
Uma
CFrameWndjanela de quadro controla um modo de exibição ativo no momento que é independente da janela ativa do Windows ou do foco de entrada atual. Quando o quadro é reativado, o modo de exibição ativo é notificado chamandoCView::OnActivateView.Mensagens de comando e muitas mensagens comuns de notificação de quadros, incluindo aquelas manipuladas pelo
OnSetFocus,OnHScrolleOnVScrollfunções de , são delegadas por umaCWndjanela de quadro ao modo deCFrameWndexibição ativo no momento.A exibição ativa no momento (ou a janela de quadro filho MDI atualmente ativa no caso de um quadro MDI) pode determinar a legenda da janela de quadro. Esse recurso pode ser desativado desativando o
FWS_ADDTOTITLEbit de estilo da janela do quadro.Uma
CFrameWndjanela de quadro gerencia o posicionamento das barras de controle, exibições e outras janelas filho dentro da área de cliente da janela de quadro. Uma janela de quadro também faz a atualização em tempo ocioso da barra de ferramentas e outros botões da barra de controle. UmaCFrameWndjanela de quadro também tem implementações padrão de comandos para ativar e desativar a barra de ferramentas e a barra de status.Uma
CFrameWndjanela de quadro gerencia a barra de menu principal. Quando um menu pop-up é exibido, a janela de quadro usa oUPDATE_COMMAND_UImecanismo para determinar quais itens de menu devem ser ativados, desativados ou marcados. Quando o usuário seleciona um item de menu, a janela de quadro atualiza a barra de status com a cadeia de caracteres de mensagem para esse comando.Uma
CFrameWndjanela de quadro tem uma tabela aceleradora opcional que traduz automaticamente os aceleradores de teclado.Uma
CFrameWndjanela de quadro tem um ID de ajuda opcional definido comLoadFrameo qual é usado para ajuda contextual. Uma janela de quadro é o principal orquestrador de estados semimodais, como ajuda sensível ao contexto (SHIFT+F1) e modos de visualização de impressão.Uma
CFrameWndjanela de quadro abrirá um arquivo arrastado do Gerenciador de arquivos e solto na janela de quadro. Se uma extensão de arquivo estiver registrada e associada ao aplicativo, a janela de quadro responderá à solicitação de abertura de intercâmbio dinâmico de dados (DDE) que ocorre quando o usuário abre um arquivo de dados no Gerenciador de arquivos ou quando a função doShellExecuteWindows é chamada.Se a janela de quadro for a janela principal do aplicativo (ou seja,
CWinThread::m_pMainWnd), quando o usuário fechar o aplicativo, a janela de quadro solicitará que o usuário salve todos os documentos modificados (paraOnCloseeOnQueryEndSession).Se a janela de quadro for a janela principal do aplicativo, a janela de quadro será o contexto para executar o WinHelp. Fechar a janela do quadro será desligado
WINHELP.EXEse ele foi iniciado para obter ajuda para este aplicativo.
Não use o operador C++ delete para destruir uma janela de quadro. Utilize CWnd::DestroyWindow em substituição. A CFrameWnd implementação do PostNcDestroy excluirá o objeto C++ quando a janela for destruída. Quando o usuário fecha a janela do quadro, o manipulador padrão OnClose chamará DestroyWindow.
Para obter mais informações sobre CFrameWndo , consulte Janelas de quadro.
Hierarquia de herança
CFrameWnd
Requerimentos
Cabeçalho:afxwin.h
CFrameWnd::ActivateFrame
Chame essa função de membro para ativar e restaurar a janela do quadro para que ela fique visível e disponível para o usuário.
virtual void ActivateFrame(int nCmdShow = -1);
Parâmetros
nCmdShow
Especifica o parâmetro a ser passado para CWnd::ShowWindow. Por padrão, o quadro é mostrado e restaurado corretamente.
Observações
Essa função de membro geralmente é chamada após um evento de interface não-usuário, como um DDE, OLE ou outro evento que pode mostrar a janela de quadro ou seu conteúdo para o usuário.
A implementação padrão ativa o quadro e o traz para o topo da ordem Z e, se necessário, executa as mesmas etapas para a janela do quadro principal do aplicativo.
Substitua essa função de membro para alterar como um quadro é ativado. Por exemplo, você pode forçar janelas filho MDI a serem maximizadas. Adicione a funcionalidade apropriada e, em seguida, chame a versão da classe base com um arquivo nCmdShow.
Exemplo
void CChildFrame::ActivateFrame(int nCmdShow)
{
// Create the child frame window maximized
nCmdShow = SW_MAXIMIZE;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
CFrameWnd::BeginModalState
Chame essa função de membro para criar uma janela de quadro modal.
virtual void BeginModalState();
CFrameWnd::CFrameWnd
Constrói um CFrameWnd objeto, mas não cria a janela de quadro visível.
CFrameWnd();
Observações
Chamada Create para criar a janela visível.
CFrameWnd::Create
Chamada para criar e inicializar a janela de quadro do Windows associada ao CFrameWnd objeto.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle = WS_OVERLAPPEDWINDOW,
const RECT& rect = rectDefault,
CWnd* pParentWnd = NULL,
LPCTSTR lpszMenuName = NULL,
DWORD dwExStyle = 0,
CCreateContext* pContext = NULL);
Parâmetros
lpszClassName
Aponta para uma cadeia de caracteres terminada em nulo que nomeia a classe Windows. O nome da classe pode ser qualquer nome registrado com a AfxRegisterWndClass função global ou a função do RegisterClass Windows. Se NULL, usa os atributos padrão CFrameWnd predefinidos.
lpszWindowName
Aponta para uma cadeia de caracteres terminada em nulo que representa o nome da janela. Usado como texto para a barra de título.
dwStyle
Especifica os atributos de estilo de janela. Inclua o FWS_ADDTOTITLE estilo se desejar que a barra de título exiba automaticamente o nome do documento representado na janela.
rect
Especifica o tamanho e a posição da janela. O rectDefault valor permite que o Windows especifique o tamanho e a posição da nova janela.
pParentWnd
Especifica a janela pai desta janela de quadro. Este parâmetro deve ser NULL para janelas de quadro de nível superior.
lpszMenuName
Identifica o nome do recurso de menu a ser usado com a janela. Use MAKEINTRESOURCE se o menu tiver uma ID inteira em vez de uma cadeia de caracteres. Este parâmetro pode ser NULL.
dwExStyle
Especifica os atributos de estilo estendido da janela.
pContext
Especifica um ponteiro para uma CCreateContext estrutura. Este parâmetro pode ser NULL.
Valor de retorno
Diferente de zero se a inicialização for bem-sucedida; caso contrário, 0.
Observações
Construa um CFrameWnd objeto em duas etapas. Primeiro, invoque o construtor, que constrói o CFrameWnd objeto e, em seguida, chame Create, que cria a janela de quadro do Windows e a anexa ao CFrameWnd objeto.
Create Inicializa o nome da classe e o nome da janela da janela e registra valores padrão para seu estilo, pai e menu associado.
Use LoadFrame em vez Create de carregar a janela de quadro de um recurso em vez de especificar seus argumentos.
CFrameWnd::CreateView
Chamada CreateView para criar uma exibição dentro de um quadro.
CWnd* CreateView(
CCreateContext* pContext,
UINT nID = AFX_IDW_PANE_FIRST);
Parâmetros
pContext
Especifica o tipo de modo de exibição e documento.
nID
O número de ID de uma vista.
Valor de retorno
Ponteiro para um CWnd objeto se for bem-sucedido;NULL
Observações
Use essa função de membro para criar "visualizações" que não CViewsão derivadas dentro de um quadro. Depois de chamar CreateView, você deve definir manualmente a exibição como ativa e configurá-la para ser visível, essas tarefas não são executadas automaticamente pela CreateView.
CFrameWnd::DockControlBar
Faz com que uma barra de controle seja encaixada na janela do quadro.
void DockControlBar(
CControlBar* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL);
Parâmetros
pBar
Aponta para a barra de controle a ser encaixada.
nDockBarID
Determina quais lados da janela do quadro devem ser considerados para encaixe. Pode ser 0 ou um ou mais dos seguintes:
AFX_IDW_DOCKBAR_TOPEncaixe no lado superior da janela do quadro.AFX_IDW_DOCKBAR_BOTTOMEncaixe no lado inferior da janela do quadro.AFX_IDW_DOCKBAR_LEFTEncaixe no lado esquerdo da janela do quadro.AFX_IDW_DOCKBAR_RIGHTEncaixe no lado direito da janela do quadro.
Se 0, a barra de controle pode ser encaixada em qualquer lado habilitado para encaixe na janela do quadro de destino.
lpRect
Determina, em coordenadas de tela, onde a barra de controle será encaixada na área não cliente da janela do quadro de destino.
Observações
A barra de controle será encaixada em um dos lados da janela de quadro especificada nas chamadas para ambos e CControlBar::EnableDockingCFrameWnd::EnableDocking. O lado escolhido é determinado por nDockBarID.
CFrameWnd::EnableDocking
Chame essa função para ativar barras de controle encaixáveis em uma janela de quadro.
void EnableDocking(DWORD dwDockStyle);
Parâmetros
dwDockStyle
Especifica quais lados da janela do quadro podem servir como locais de encaixe para barras de controle. Pode ser um ou mais dos seguintes:
CBRS_ALIGN_TOPPermite encaixe na parte superior da área do cliente.CBRS_ALIGN_BOTTOMPermite encaixar na parte inferior da área do cliente.CBRS_ALIGN_LEFTPermite encaixar no lado esquerdo da área do cliente.CBRS_ALIGN_RIGHTPermite a ancoragem no lado direito da área do cliente.CBRS_ALIGN_ANYPermite a ancoragem em qualquer lado da área do cliente.
Observações
Por padrão, as barras de controle serão encaixadas em um lado da janela do quadro na seguinte ordem: superior, inferior, esquerda, direita.
Exemplo
Veja o exemplo para CToolBar::Create.
CFrameWnd::EndModalState
Chame essa função de membro para alterar uma janela de quadro de modal para sem modo.
virtual void EndModalState();
Observações
EndModalState Habilita todas as janelas desabilitadas pelo BeginModalState.
CFrameWnd::FloatControlBar
Chame essa função para fazer com que uma barra de controle não seja encaixada na janela do quadro.
void FloatControlBar(
CControlBar* pBar,
CPoint point,
DWORD dwStyle = CBRS_ALIGN_TOP);
Parâmetros
pBar
Aponta para a barra de controle a ser flutuada.
point
O local, em coordenadas de tela, onde o canto superior esquerdo da barra de controle será colocado.
dwStyle
Especifica se a barra de controle deve ser alinhada horizontal ou verticalmente dentro de sua nova janela de quadro. Pode ser qualquer um dos seguintes:
CBRS_ALIGN_TOPOrienta a barra de controle verticalmente.CBRS_ALIGN_BOTTOMOrienta a barra de controle verticalmente.CBRS_ALIGN_LEFTOrienta a barra de controle horizontalmente.CBRS_ALIGN_RIGHTOrienta a barra de controle horizontalmente.
Se os estilos forem passados especificando a orientação horizontal e vertical, a barra de ferramentas será orientada horizontalmente.
Observações
Normalmente, isso é feito na inicialização do aplicativo quando o programa está restaurando as configurações da execução anterior.
Esta função é chamada pela estrutura quando o usuário causa uma operação de soltar soltando o botão esquerdo do mouse enquanto arrasta a barra de controle sobre um local que não está disponível para encaixe.
CFrameWnd::GetActiveDocument
Chame essa função de membro para obter um ponteiro para a corrente CDocument anexada à exibição ativa atual.
virtual CDocument* GetActiveDocument();
Valor de retorno
Um ponteiro para o atual CDocument. Se não houver nenhum documento atual, retorna NULL.
CFrameWnd::GetActiveFrame
Chame essa função de membro para obter um ponteiro para a janela filho MDI (interface de múltiplos documentos) ativa de uma janela de quadro MDI.
virtual CFrameWnd* GetActiveFrame();
Valor de retorno
Um ponteiro para a janela filho MDI ativa. Se o aplicativo for um aplicativo SDI ou se a janela de quadro MDI não tiver nenhum documento ativo, o ponteiro implícito this será retornado.
Observações
Se não houver nenhum filho MDI ativo ou o aplicativo for uma interface de documento único (SDI), o ponteiro implícito this será retornado.
CFrameWnd::GetActiveView
Chame essa função de membro para obter um ponteiro para a exibição ativa (se houver) anexada a uma janela de quadro (CFrameWnd).
CView* GetActiveView() const;
Valor de retorno
Um ponteiro para o atual CView. Se não houver nenhuma exibição atual, retorna NULL.
Observações
Esta função retorna NULL quando chamada para uma janela de quadro principal MDI (CMDIFrameWnd). Em um aplicativo MDI, a janela do quadro principal MDI não tem uma exibição associada a ele. Em vez disso, cada janela filho individual (CMDIChildWnd) tem uma ou mais exibições associadas. A exibição ativa em um aplicativo MDI pode ser obtida primeiro localizando a janela filho MDI ativa e, em seguida, localizando a exibição ativa para essa janela filho. A janela filho MDI ativa pode ser encontrada chamando a função MDIGetActive ou GetActiveFrame como demonstrado no seguinte:
CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->GetMainWnd();
// Get the active MDI child window.
CMDIChildWnd *pChild = (CMDIChildWnd*)pFrame->GetActiveFrame();
// or CMDIChildWnd *pChild = pFrame->MDIGetActive();
// Get the active view attached to the active MDI child window.
CMyView *pView = (CMyView*)pChild->GetActiveView();
CFrameWnd::GetControlBar
Ligue GetControlBar para obter acesso à barra de controle associada ao ID.
CControlBar* GetControlBar(UINT nID);
Parâmetros
nID
O número de ID de uma barra de controle.
Valor de retorno
Um ponteiro para a barra de controle que está associada à ID.
Observações
O nID parâmetro refere-se ao identificador exclusivo passado para o Create método da barra de controle. Para obter mais informações sobre barras de controle, consulte o tópico intitulado Barras de controle.
GetControlBar retornará a barra de controle mesmo que ela esteja flutuando e, portanto, não seja atualmente uma janela filho do quadro.
CFrameWnd::GetDockState
Chame essa função de membro para armazenar informações de estado sobre as barras de controle da janela de quadro em um CDockState objeto.
void GetDockState(CDockState& state) const;
Parâmetros
state
Contém o estado atual das barras de controle da janela do quadro no retorno.
Observações
Em seguida, você pode gravar o conteúdo do CDockState armazenamento usando CDockState::SaveState ou Serialize. Se, posteriormente, desejar restaurar as barras de controle para um estado anterior, carregue o estado com CDockState::LoadState ou Serializee, em seguida, chame SetDockState para aplicar o estado anterior às barras de controle da janela do quadro.
CFrameWnd::GetMenuBarState
Recupera o estado de exibição do menu no aplicativo MFC atual.
virtual DWORD GetMenuBarState();
Valor de retorno
O valor de retorno pode ter os seguintes valores:
AFX_MBS_VISIBLE(0x01) - O menu é visível.AFX_MBS_HIDDEN(0x02) - O menu está oculto.
Observações
Se ocorrer um erro de tempo de execução, esse método declara no modo de depuração e gera uma exceção derivada da CException classe.
CFrameWnd::GetMenuBarVisibility
Indica se o estado padrão do menu no aplicativo MFC atual está oculto ou visível.
virtual DWORD CFrameWnd::GetMenuBarVisibility();
Valor de retorno
Esse método retorna um dos seguintes valores:
AFX_MBV_KEEPVISIBLE(0x01) - O menu é exibido em todos os momentos, e por padrão não tem o foco.AFX_MBV_DISPLAYONFOCUS(0x02) - O menu está oculto por padrão. Se o menu estiver oculto, pressione a tecla ALT para exibir o menu e dar-lhe o foco. Se o menu for exibido, pressione a tecla ALT ou ESC para ocultá-lo.AFX_MBV_DISPLAYONFOCUS | AFX_MBV_DISPLAYONF10(0x06) - O menu está oculto por padrão. Se o menu estiver oculto, pressione a tecla F10 para exibir o menu e dar-lhe o foco. Se o menu for exibido, pressione a tecla F10 para ativar ou desativar o foco no menu. O menu é exibido até que você pressione a tecla ALT ou ESC para ocultá-lo.
Observações
Se ocorrer um erro de tempo de execução, esse método declara no modo de depuração e gera uma exceção derivada da CException classe.
CFrameWnd::GetMessageBar
Chame essa função de membro para obter um ponteiro para a barra de status.
virtual CWnd* GetMessageBar();
Valor de retorno
Ponteiro para a janela da barra de status.
CFrameWnd::GetMessageString
Substitua essa função para fornecer cadeias de caracteres personalizadas para IDs de comando.
virtual void GetMessageString(
UINT nID,
CString& rMessage) const;
Parâmetros
nID
ID do recurso da mensagem desejada.
rMessage
CString objeto no qual colocar a mensagem.
Observações
A implementação padrão simplesmente carrega a cadeia de caracteres especificada por nID a partir do arquivo de recurso. Esta função é chamada pela estrutura quando a cadeia de caracteres de mensagem na barra de status precisa de atualização.
CFrameWnd::GetTitle
Recupera o título do objeto window.
CString GetTitle() const;
Valor de retorno
Um CString objeto que contém o título atual do objeto window.
CFrameWnd::InitialUpdateFrame
Ligue IntitialUpdateFrame depois de criar um novo quadro com Create.
void InitialUpdateFrame(
CDocument* pDoc,
BOOL bMakeVisible);
Parâmetros
pDoc
Aponta para o documento ao qual a janela do quadro está associada. Pode ser NULL.
bMakeVisible
Se TRUE, indica que o quadro deve ficar visível e ativo. Se FALSE, nenhum descendente é tornado visível.
Observações
Isso faz com que todos os modos de exibição nessa janela de quadro recebam suas OnInitialUpdate chamadas.
Além disso, se não houver anteriormente uma exibição ativa, a exibição principal da janela de quadro será ativada. A vista principal é uma vista com um ID filho de AFX_IDW_PANE_FIRST. Finalmente, a janela do quadro é tornada visível se bMakeVisible for diferente de zero. Se bMakeVisible for 0, o foco atual e o estado visível da janela do quadro permanecerão inalterados. Não é necessário chamar essa função ao usar a implementação da estrutura de Arquivo Novo e Arquivo Aberto.
CFrameWnd::InModalState
Chame essa função de membro para verificar se uma janela de quadro é modal ou sem modo.
BOOL InModalState() const;
Valor de retorno
Diferente de zero se sim; caso contrário, 0.
CFrameWnd::IsTracking
Chame essa função de membro para determinar se a barra divisória na janela está sendo movida no momento.
BOOL IsTracking() const;
Valor de retorno
Diferente de zero se uma operação de divisão estiver em andamento; caso contrário, 0.
CFrameWnd::LoadAccelTable
Chamada para carregar a tabela de aceleração especificada.
BOOL LoadAccelTable(LPCTSTR lpszResourceName);
Parâmetros
lpszResourceName
Identifica o nome do recurso acelerador. Use MAKEINTRESOURCE se o recurso for identificado com uma ID inteira.
Valor de retorno
Diferente de zero se a tabela do acelerador foi carregada com êxito; caso contrário, 0.
Observações
Apenas uma tabela pode ser carregada de cada vez.
As tabelas de aceleração carregadas de recursos são liberadas automaticamente quando o aplicativo é encerrado.
Se você chamar LoadFrame para criar a janela de quadro, a estrutura carregará uma tabela aceleradora junto com os recursos de menu e ícone, e uma chamada subsequente para essa função de membro será desnecessária.
CFrameWnd::LoadBarState
Chame essa função para restaurar as configurações de cada barra de controle de propriedade da janela do quadro.
void LoadBarState(LPCTSTR lpszProfileName);
Parâmetros
lpszProfileName
Nome de uma seção no arquivo de inicialização (INI) ou uma chave no registro do Windows onde as informações de estado são armazenadas.
Observações
As informações restauradas incluem visibilidade, orientação horizontal/vertical, estado de ancoragem e posição da barra de controle.
As configurações que você deseja restaurar devem ser gravadas no registro antes de chamar LoadBarState. Escreva as informações no registro chamando CWinApp::SetRegistryKey. Escreva as informações no arquivo INI chamando SaveBarState.
CFrameWnd::LoadFrame
Chamada para criar dinamicamente uma janela de quadro a partir das informações do recurso.
virtual BOOL LoadFrame(
UINT nIDResource,
DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
CWnd* pParentWnd = NULL,
CCreateContext* pContext = NULL);
Parâmetros
nIDResource
A ID dos recursos compartilhados associados à janela do quadro.
dwDefaultStyle
O estilo do quadro. Inclua o FWS_ADDTOTITLE estilo se desejar que a barra de título exiba automaticamente o nome do documento representado na janela.
pParentWnd
Um ponteiro para o pai do quadro.
pContext
Um ponteiro para uma CCreateContext estrutura. Este parâmetro pode ser NULL.
Observações
Construa um CFrameWnd objeto em duas etapas. Primeiro, invoque o construtor, que constrói o CFrameWnd objeto e, em seguida, chame LoadFrame, que carrega a janela de quadro do Windows e os recursos associados e anexa a janela de quadro ao CFrameWnd objeto. O nIDResource parâmetro especifica o menu, a tabela aceleradora, o ícone e o recurso de cadeia de caracteres do título da janela do quadro.
Use a Create função member em vez LoadFrame de quando quiser especificar todos os parâmetros de criação da janela do quadro.
A estrutura chama LoadFrame quando cria uma janela de quadro usando um objeto de modelo de documento.
A estrutura usa o pContext argumento para especificar os objetos a serem conectados à janela do quadro, incluindo quaisquer objetos de exibição contidos. Você pode definir o pContext argumento como NULL quando chamar LoadFrame.
CFrameWnd::m_bAutoMenuEnable
Quando esse membro de dados está habilitado (que é o padrão), os itens de menu que não têm ON_UPDATE_COMMAND_UI ou ON_COMMAND manipuladores serão automaticamente desativados quando o usuário puxar um menu para baixo.
BOOL m_bAutoMenuEnable;
Observações
Os itens de menu que têm um ON_COMMAND manipulador, mas nenhum ON_UPDATE_COMMAND_UI manipulador, serão ativados automaticamente.
Quando esse membro de dados é definido, os itens de menu são ativados automaticamente da mesma forma que os botões da barra de ferramentas são ativados.
Observação
m_bAutoMenuEnable não tem efeito nos itens de menu de nível superior.
Esse membro de dados simplifica a implementação de comandos opcionais com base na seleção atual e reduz a necessidade de escrever ON_UPDATE_COMMAND_UI manipuladores para habilitar e desabilitar itens de menu.
Exemplo
// CMainFrame is application-defined object of type CFrameWnd
CMainFrame::CMainFrame()
: m_hDrawMenu(NULL), m_hDrawAccel(NULL), m_bCheck(false), m_nWindowTimer(0), m_nCallbackTimer(0)
{
// Set to FALSE so no ON_UPDATE_COMMAND_UI
// or ON_COMMAND handlers are needed, and
// CMenu::EnableMenuItem() will work as expected.
m_bAutoMenuEnable = FALSE;
}
CFrameWnd::NegotiateBorderSpace
Chame essa função de membro para negociar o espaço de borda em uma janela de quadro durante a ativação inloco do OLE.
virtual BOOL NegotiateBorderSpace(
UINT nBorderCmd,
LPRECT lpRectBorder);
Parâmetros
nBorderCmd
Contém um dos seguintes valores do enum BorderCmd:
borderGet= 1borderRequest= 2borderSet= 3
lpRectBorder
Ponteiro para uma estrutura RECT ou um objeto CRect que especifica as coordenadas da borda.
Valor de retorno
Diferente de zero se for bem-sucedido; caso contrário, 0.
Observações
Esta função de membro é a CFrameWnd implementação da negociação de espaço de borda OLE.
CFrameWnd::OnBarCheck
Chamado sempre que uma ação é executada na barra de controle especificada.
afx_msg BOOL OnBarCheck(UINT nID);
Parâmetros
nID
O ID da barra de controle que está sendo mostrada.
Valor de retorno
Diferente de zero se a barra de controle existisse; caso contrário, 0.
CFrameWnd::OnContextHelp
Manipula a Ajuda SHIFT+F1 para itens in-loco.
afx_msg void OnContextHelp();
Observações
Para habilitar a ajuda contextual, você deve adicionar um
ON_COMMAND(ID_CONTEXT_HELP, &CMainFrame::OnContextHelp)
ao seu CFrameWnd mapa de mensagens de classe e também adicionar uma entrada de tabela aceleradora, normalmente SHIFT+F1, para habilitar essa função de membro.
Se o seu aplicativo for um contêiner OLE, OnContextHelp coloque todos os itens in-loco contidos no objeto da janela do quadro no modo de Ajuda. O cursor muda para uma seta e um ponto de interrogação, e o usuário pode mover o ponteiro do mouse e pressionar o botão esquerdo do mouse para selecionar uma caixa de diálogo, janela, menu ou botão de comando. Esta função de membro chama a função WinHelp do Windows com o contexto de Ajuda do objeto sob o cursor.
CFrameWnd::OnCreateClient
Chamado pelo quadro durante a execução do OnCreate.
virtual BOOL OnCreateClient(
LPCREATESTRUCT lpcs,
CCreateContext* pContext);
Parâmetros
lpcs
Um ponteiro para uma estrutura do Windows CREATESTRUCT .
pContext
Um ponteiro para uma CCreateContext estrutura.
Valor de retorno
Diferente de zero se for bem-sucedido; caso contrário, 0.
Observações
Nunca chame essa função.
A implementação padrão desta função cria um CView objeto a partir das informações fornecidas no , se pContextpossível.
Substitua essa função para substituir valores passados CCreateContext no objeto ou para alterar a maneira como os controles na área principal do cliente da janela do quadro são criados. Os CCreateContext membros que você pode substituir são descritos na CCreateContext classe.
Observação
Não substitua os valores passados CREATESTRUCT na estrutura. São apenas para uso informativo. Se você quiser substituir o retângulo da janela inicial, por exemplo, substitua a CWnd função PreCreateWindowde membro.
CFrameWnd::OnHideMenuBar
Esta função é chamada quando o sistema está prestes a ocultar a barra de menus no aplicativo MFC atual.
virtual void OnHideMenuBar();
Observações
Esse manipulador de eventos permite que seu aplicativo execute ações personalizadas quando o sistema está prestes a ocultar o menu. Você não pode impedir que o menu fique oculto, mas pode, por exemplo, chamar outros métodos para recuperar o estilo ou o estado do menu.
CFrameWnd::OnSetPreviewMode
Chame essa função de membro para definir a janela de quadro principal do aplicativo para dentro e para fora do modo de visualização de impressão.
virtual void OnSetPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
Parâmetros
bPreview
Especifica se o aplicativo deve ou não ser colocado no modo de visualização de impressão. Defina como TRUE colocar na visualização de impressão, FALSE para cancelar o modo de visualização.
pState
Um ponteiro para uma CPrintPreviewState estrutura.
Observações
A implementação padrão desativa todas as barras de ferramentas padrão e oculta o menu principal e a janela principal do cliente. Isso transforma janelas de quadro MDI em janelas de quadro SDI temporárias.
Substitua essa função de membro para personalizar a ocultação e a exibição de barras de controle e outras partes da janela do quadro durante a visualização de impressão. Chame a implementação da classe base de dentro da versão substituída.
CFrameWnd::OnShowMenuBar
Esta função é chamada quando o sistema está prestes a exibir a barra de menus no aplicativo MFC atual.
virtual void OnShowMenuBar();
Observações
Esse manipulador de eventos permite que seu aplicativo execute ações personalizadas quando o menu está prestes a ser exibido. Você não pode impedir que o menu seja exibido, mas pode, por exemplo, chamar outros métodos para recuperar o estilo ou o estado do menu.
CFrameWnd::OnUpdateControlBarMenu
Chamado pela estrutura quando o menu associado é atualizado.
afx_msg void OnUpdateControlBarMenu(CCmdUI* pCmdUI);
Parâmetros
pCmdUI
Um ponteiro para um CCmdUI objeto que representa o menu que gerou o comando update. O manipulador de atualização chama a Enable função de membro do objeto para CCmdUI atualizar a interface do pCmdUI usuário.
CFrameWnd::RecalcLayout
Chamado pela estrutura quando as barras de controle padrão são ativadas ou desativadas ou quando a janela do quadro é redimensionada.
virtual void RecalcLayout(BOOL bNotify = TRUE);
Parâmetros
bNotify
Determina se o item in-loco ativo para a janela de quadro recebe notificação da alteração de layout. Se TRUE, o item é notificado, caso contrário FALSE.
Observações
A implementação padrão dessa função de membro chama a CWnd função RepositionBars de membro para reposicionar todas as barras de controle no quadro, bem como na janela principal do cliente (geralmente um CView ou MDICLIENT).
Substitua essa função de membro para controlar a aparência e o comportamento das barras de controle após a alteração do layout da janela do quadro. Por exemplo, chame-o quando você ativar ou desativar as barras de controle ou adicionar outra barra de controle.
CFrameWnd::rectDefault
Passe essa estática CRect como um parâmetro ao criar uma janela para permitir que o Windows escolha o tamanho e a posição iniciais da janela.
static AFX_DATA const CRect rectDefault;
CFrameWnd::SaveBarState
Chame essa função para armazenar informações sobre cada barra de controle de propriedade da janela do quadro.
void SaveBarState(LPCTSTR lpszProfileName) const;
Parâmetros
lpszProfileName
Nome de uma seção no arquivo de inicialização ou uma chave no registro do Windows onde as informações de estado são armazenadas.
Observações
Essas informações podem ser lidas no arquivo de inicialização usando LoadBarStateo . As informações armazenadas incluem visibilidade, orientação horizontal/vertical, estado de ancoragem e posição da barra de controle.
CFrameWnd::SetActivePreviewView
Designa o modo de exibição especificado como o modo de exibição ativo para Rich Preview.
void SetActivePreviewView(CView* pViewNew);
Parâmetros
pViewNew
Um ponteiro para uma vista a ser ativada.
Observações
CFrameWnd::SetActiveView
Chame essa função de membro para definir o modo de exibição ativo.
void SetActiveView(
CView* pViewNew,
BOOL bNotify = TRUE);
Parâmetros
pViewNew
Especifica um ponteiro para um CView objeto ou NULL para nenhum modo de exibição ativo.
bNotify
Especifica se o modo de exibição deve ser notificado da ativação. Se TRUE, OnActivateView é chamado para a nova visão, se FALSE, não é.
Observações
A estrutura chamará essa função automaticamente à medida que o usuário muda o foco para uma exibição dentro da janela do quadro. Você pode chamar SetActiveView explicitamente para alterar o foco para o modo de exibição especificado.
CFrameWnd::SetDockState
Chame essa função de membro para aplicar informações de estado armazenadas em um CDockState objeto às barras de controle da janela do quadro.
void SetDockState(const CDockState& state);
Parâmetros
state
Aplique o estado armazenado às barras de controle da janela do quadro.
Observações
Para restaurar um estado anterior das barras de controle, você pode carregar o estado armazenado com CDockState::LoadState ou Serializee, em seguida, usar SetDockState para aplicá-lo às barras de controle da janela do quadro. O estado anterior é armazenado no CDockState objeto com GetDockState
CFrameWnd::SetMenuBarState
Define o estado de exibição do menu no aplicativo MFC atual como oculto ou exibido.
virtual BOOL SetMenuBarState(DWORD nState);
Parâmetros
nState
[em] Especifica se o menu deve ser exibido ou ocultado. O nState parâmetro pode ter os seguintes valores:
-
AFX_MBS_VISIBLE(0x01) - Exibe o menu se estiver oculto, mas não terá efeito se estiver visível. -
AFX_MBS_HIDDEN(0x02) - Oculta o menu se estiver visível, mas não tem efeito se estiver oculto.
Valor de retorno
TRUE se este método alterar com êxito o estado do menu; caso contrário, FALSE.
Observações
Se ocorrer um erro de tempo de execução, esse método declara no modo de depuração e gera uma exceção derivada da CException classe.
CFrameWnd::SetMenuBarVisibility
Define o comportamento padrão do menu no aplicativo MFC atual como oculto ou visível.
virtual void SetMenuBarVisibility(DWORD nStyle);
Parâmetros
nStyle
[em] Especifica se o menu está oculto por padrão ou se está visível e tem o foco. O nStyle parâmetro pode ter os seguintes valores:
AFX_MBV_KEEPVISIBLE(0x01) - O menu é exibido em todos os momentos, e por padrão não tem o foco.AFX_MBV_DISPLAYONFOCUS(0x02) - O menu está oculto por padrão. Se o menu estiver oculto, pressione a tecla ALT para exibir o menu e dar-lhe o foco. Se o menu for exibido, pressione a tecla ALT ou ESC para ocultar o menu.AFX_MBV_DISPLAYONFOCUS | AFX_MBV_DISPLAYONF10(0x06) - O menu está oculto por padrão. Se o menu estiver oculto, pressione a tecla F10 para exibir o menu e dar-lhe o foco. Se o menu for exibido, pressione a tecla F10 para ativar ou desativar o foco no menu. O menu é exibido até que você pressione a tecla ALT ou ESC para ocultá-lo.
Observações
Se o valor do nStyle parâmetro não for válido, esse método declara no modo de depuração e gera CInvalidArgException no modo de versão. No caso de outros erros de tempo de execução, esse método afirma no modo de depuração e gera uma exceção derivada da CException classe.
Esse método afeta o estado dos menus em aplicativos escritos para o Windows Vista e posterior.
CFrameWnd::SetMessageText
Chame essa função para colocar uma cadeia de caracteres no painel da barra de status que tenha uma ID de 0.
void SetMessageText(LPCTSTR lpszText);
void SetMessageText(UINT nID);
Parâmetros
lpszText
Aponta para a cadeia de caracteres a ser colocada na barra de status.
nID
ID do recurso de cadeia de caracteres da cadeia de caracteres a ser colocada na barra de status.
Observações
Normalmente, este é o painel mais à esquerda e mais longo da barra de status.
CFrameWnd::SetProgressBarPosition
Define a posição atual da barra de progresso do Windows 7 exibida na barra de tarefas.
void SetProgressBarPosition(int nProgressPos);
Parâmetros
nProgressPos
Especifica a posição a ser definida. Deve estar dentro do intervalo definido por SetProgressBarRange.
Observações
CFrameWnd::SetProgressBarRange
Define o intervalo para a barra de progresso do Windows 7 exibida na barra de tarefas.
void SetProgressBarRange(
int nRangeMin,
int nRangeMax);
Parâmetros
nRangeMin
Valor mínimo.
nRangeMax
Valor máximo.
Observações
CFrameWnd::SetProgressBarState
Define o tipo e o estado do indicador de progresso exibido em um botão da barra de tarefas.
void SetProgressBarState(TBPFLAG tbpFlags);
Parâmetros
tbpFlags
Sinalizadores que controlam o estado atual do botão de progresso. Especifique apenas um dos seguintes sinalizadores porque todos os estados são mutuamente exclusivos: TBPF_NOPROGRESS, TBPF_INDETERMINATE, TBPF_NORMAL, TBPF_ERROR, TBPF_PAUSED.
Observações
CFrameWnd::SetTaskbarOverlayIcon
Sobrecarregado. Aplica uma sobreposição a um botão da barra de tarefas para indicar o status do aplicativo ou para notificar o usuário.
BOOL SetTaskbarOverlayIcon(
UINT nIDResource,
LPCTSTR lpcszDescr);
BOOL SetTaskbarOverlayIcon(
HICON hIcon,
LPCTSTR lpcszDescr);
Parâmetros
nIDResource
Especifica a ID do recurso de um ícone a ser usado como sobreposição. Consulte a descrição para hIcon obter detalhes.
lpcszDescr
Um ponteiro para uma cadeia de caracteres que fornece uma versão de texto alternativo das informações transmitidas pela sobreposição, para fins de acessibilidade.
hIcon
O identificador de um ícone para usar como sobreposição. Este deve ser um ícone pequeno, medindo 16x16 pixels a 96 pontos por polegada (dpi). Se um ícone de sobreposição já estiver aplicado ao botão da barra de tarefas, essa sobreposição existente será substituída. Este valor pode ser NULL. A forma como um NULL valor é tratado depende se o botão da barra de tarefas representa uma única janela ou um grupo de janelas. É responsabilidade do aplicativo de chamada liberar hIcon quando não for mais necessário.
Valor de retorno
TRUE se for bem sucedido; FALSE se a versão do SO for inferior ao Windows 7 ou se ocorrer um erro ao definir o ícone.
Observações
CFrameWnd::SetTitle
Define o título do objeto window.
void SetTitle(LPCTSTR lpszTitle);
Parâmetros
lpszTitle
Um ponteiro para uma cadeia de caracteres que contém o título do objeto window.
CFrameWnd::ShowControlBar
Chame essa função de membro para mostrar ou ocultar a barra de controle.
void ShowControlBar(
CControlBar* pBar,
BOOL bShow,
BOOL bDelay);
Parâmetros
pBar
Ponteiro para a barra de controle a ser mostrado ou oculto.
bShow
Se TRUE, especifica que a barra de controle deve ser mostrada. Se FALSE, especifica que a barra de controle deve ser ocultada.
bDelay
Se TRUE, atrase mostrando a barra de controle. Se FALSE, mostre a barra de controle imediatamente.
CFrameWnd::ShowOwnedWindows
Chame essa função de membro para mostrar todas as janelas que são descendentes do CFrameWnd objeto.
void ShowOwnedWindows(BOOL bShow);
Parâmetros
bShow
Especifica se as janelas de propriedade devem ser mostradas ou ocultas.
Ver também
CWnd Classe
Gráfico de Hierarquia
CWnd Classe
CMDIFrameWnd Classe
CMDIChildWnd Classe
CView Classe
CDocTemplate Classe
CRuntimeClass Estrutura