Classe CFrameWnd

Fornece a funcionalidade de uma janela de estrutura de Windows SDI (interface de documento único) sobreposta ou pop-up, 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 de quadro como modal.
CFrameWnd::Create Chame para criar e inicializar a janela Windows quadro associada ao CFrameWnd objeto.
CFrameWnd::CreateView Cria uma exibição dentro de um quadro que não é derivado de CView.
CFrameWnd::DockControlBar Encaixa uma barra de controle.
CFrameWnd::EnableDocking Permite que uma barra de controle seja encaixada.
CFrameWnd::EndModalState Encerra o estado modal da janela de quadro. Habilita todas as janelas desabilitadas por 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 encaixe 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 que pertence à janela de quadro.
CFrameWnd::GetMessageString Recupera a mensagem correspondente a uma ID de comando.
CFrameWnd::GetTitle Recupera o título da barra de controle relacionada.
CFrameWnd::InitialUpdateFrame Faz com que a OnInitialUpdate função membro pertencente a todos os modos de exibição na janela de 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 de divisor está sendo movida no momento.
CFrameWnd::LoadAccelTable Chame para carregar uma tabela de acelerador.
CFrameWnd::LoadBarState Chamar para restaurar as configurações da barra de controle.
CFrameWnd::LoadFrame Chame para criar dinamicamente uma janela de quadro a partir de informações de recurso.
CFrameWnd::NegotiateBorderSpace Negocia o espaço de borda na janela de 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 de quadro principal do aplicativo dentro e 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 Chame 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 Chame para encaixar a janela de 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 para Windows barra de progresso 7 exibida na barra de tarefas.
CFrameWnd::SetProgressBarRange Define o intervalo para Windows barra de progresso 7 exibida na barra de tarefas.
CFrameWnd::SetProgressBarState Define o tipo e o estado do indicador de progresso exibidos 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 Chame para mostrar a barra de controle.
CFrameWnd::ShowOwnedWindows Mostra todas as janelas descendentes do CFrameWnd objeto.

Métodos Protegidos

Nome Descrição
CFrameWnd::OnCreateClient Cria uma janela do 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 Controles habilitam e desabilitam a funcionalidade automática para itens de menu.
CFrameWnd::rectDefault Passe essa estática CRect como um parâmetro ao criar um CFrameWnd objeto para permitir que Windows escolha o tamanho e a posição iniciais da janela.

Comentários

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 ao 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 ou CreateLoadFrame, você deve construir o objeto de janela de quadro 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 membro para passar os parâmetros de criação do quadro como argumentos imediatos.

LoadFrame requer menos argumentos do que Create, em vez disso, recupera a maioria de seus valores padrão de recursos, incluindo a legenda do quadro, o ícone, a tabela de acelerador e o menu. Para ser acessível por LoadFrame, todos esses recursos devem ter a mesma ID de recurso (por exemplo, IDR_MAINFRAME).

Quando um CFrameWnd objeto contém exibiçõ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 Novo Arquivo ou o comando MDI (interface de documento múltiplo) Janela Novo).

Uma classe de janela de quadro derivada CFrameWnd deve ser declarada DECLARE_DYNCREATE para que o mecanismo acima RUNTIME_CLASS funcione corretamente.

Uma 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 CFrameWnd janela de quadro mantém o controle de um modo de exibição ativo no momento independente da janela Windows ativa ou do foco de entrada atual. Quando o quadro é reativado, o modo de exibição ativo é notificado chamando CView::OnActivateView.

  • As mensagens de comando e muitas mensagens comuns de notificação de quadro, incluindo aquelas manipuladas pelo OnSetFocus, OnHScrolle OnVScroll funções de , são delegadas por uma CFrameWnd janela de CWndquadro para o modo de exibição ativo no momento.

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

  • Uma CFrameWnd janela de quadro gerencia o posicionamento das barras de controle, exibições e outras janelas filho dentro da área do cliente da janela do quadro. Uma janela de quadro também faz a atualização em tempo ocioso da barra de ferramentas e de outros botões da barra de controle. Uma CFrameWnd janela 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 CFrameWnd janela de quadro gerencia a barra de menus principal. Quando um menu pop-up é exibido, a janela de quadro usa o UPDATE_COMMAND_UI mecanismo para determinar quais itens de menu devem ser habilitados, desabilitados ou verificados. 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 CFrameWnd janela de quadro tem uma tabela de acelerador opcional que converte automaticamente aceleradores de teclado.

  • Uma CFrameWnd janela de quadro tem uma ID de ajuda opcional definida com LoadFrame a qual é usada para ajuda sensível ao contexto. Uma janela de quadro é o principal orquestrador de estados semimodais, como a ajuda sensível a contexto (SHIFT+F1) e modos de visualização de impressão.

  • Uma CFrameWnd janela de quadro abrirá um arquivo arrastado do Gerenciador de Arquivos e será descartado na janela de quadros. Se uma extensão de arquivo for registrada e associada ao aplicativo, a janela de quadro responderá à solicitação aberta DDE (troca de dados dinâmica) que ocorre quando o usuário abre um arquivo de dados no Gerenciador de Arquivos ou quando a ShellExecute função Windows é chamada.

  • Se a janela do quadro for a janela principal do aplicativo (ou seja), CWinThread::m_pMainWndquando o usuário fechar o aplicativo, a janela de quadro solicitará que o usuário salve todos os documentos modificados (para OnClose e OnQueryEndSession).

  • Se a janela do quadro for a janela principal do aplicativo, a janela de quadros será o contexto para executar o WinHelp. Fechar a janela de quadros será desligada WINHELP.EXE se ela for iniciada para obter ajuda para este aplicativo.

Não use o operador C++ delete para destruir uma janela de quadro. Use CWnd::DestroyWindow em vez disso. A CFrameWnd implementação do PostNcDestroy objeto C++ será excluída quando a janela for destruída. Quando o usuário fechar a janela de quadros, o manipulador padrão OnClose chamará DestroyWindow.

Para obter mais informações sobreCFrameWnd, consulte Frame Windows.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CFrameWnd

Requisitos

Cabeçalho:afxwin.h

CFrameWnd::ActivateFrame

Chame essa função de membro para ativar e restaurar a janela de 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.

Comentários

Essa função de membro geralmente é chamada após um evento de interface de não usuário, como um DDE, OLE ou outro evento que pode mostrar a janela do quadro ou seu conteúdo para o usuário.

A implementação padrão ativa o quadro e o coloca na parte superior da ordem Z e, se necessário, executa as mesmas etapas para a janela de quadro principal do aplicativo.

Substitua essa função de membro para alterar a forma como um quadro é ativado. Por exemplo, você pode forçar a maximização das janelas filho do MDI. Adicione a funcionalidade apropriada e, em seguida, chame a versão da classe base com um explícito 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 tornar 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();

Comentários

Chame Create para criar a janela visível.

CFrameWnd::Create

Chame para criar e inicializar a janela Windows quadro 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 RegisterClass função 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 quiser 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 Windows especifique o tamanho e a posição da nova janela.

pParentWnd
Especifica a janela pai desta janela de quadro. Esse parâmetro deve ser NULL para janelas de quadros 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 de inteiro em vez de uma cadeia de caracteres. Esse parâmetro pode ser NULL.

dwExStyle
Especifica os atributos de estilo estendido da janela.

pContext
Especifica um ponteiro para uma CCreateContext estrutura. Esse parâmetro pode ser NULL.

Valor de retorno

Não zero se a inicialização for bem-sucedida; caso contrário, 0.

Comentários

Construa um CFrameWnd objeto em duas etapas. Primeiro, invoque o construtor, que constrói o CFrameWnd objeto e, em seguida, chameCreate, o que cria a janela Windows quadro 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

Chame CreateView para criar um modo de exibição dentro de um quadro.

CWnd* CreateView(
    CCreateContext* pContext,
    UINT nID = AFX_IDW_PANE_FIRST);

Parâmetros

pContext
Especifica o tipo de exibição e o documento.

nID
O número de ID de uma exibição.

Valor de retorno

Ponteiro para um CWnd objeto se tiver êxito; caso contrário NULL.

Comentários

Use essa função de membro para criar "exibições" que não CViewsão derivadas em um quadro. Depois de chamar CreateView, você deve definir manualmente o modo de exibição como ativo e defini-lo como visível; essas tarefas não são executadas automaticamente por CreateView.

CFrameWnd::DockControlBar

Faz com que uma barra de controle seja encaixada na janela de quadros.

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 de quadros considerar para encaixe. Pode ser 0 ou um ou mais dos seguintes:

  • AFX_IDW_DOCKBAR_TOP Encaixe na parte superior da janela de quadros.

  • AFX_IDW_DOCKBAR_BOTTOM Encaixe na parte inferior da janela de quadros.

  • AFX_IDW_DOCKBAR_LEFT Encaixe no lado esquerdo da janela de quadros.

  • AFX_IDW_DOCKBAR_RIGHT Encaixe no lado direito da janela de quadros.

Se 0, a barra de controle poderá 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ãocliente da janela do quadro de destino.

Comentários

A barra de controle será encaixada em um dos lados da janela de quadro especificada nas chamadas para ambos CControlBar::EnableDocking e CFrameWnd::EnableDocking. O lado escolhido é determinado por nDockBarID.

CFrameWnd::EnableDocking

Chame essa função para habilitar barras de controle encaixadas em uma janela de quadro.

void EnableDocking(DWORD dwDockStyle);

Parâmetros

dwDockStyle
Especifica quais lados da janela de quadro podem servir como locais de encaixe para barras de controle. Pode ser um ou mais dos seguintes:

  • CBRS_ALIGN_TOP Permite o encaixe na parte superior da área do cliente.

  • CBRS_ALIGN_BOTTOM Permite o encaixe na parte inferior da área do cliente.

  • CBRS_ALIGN_LEFT Permite o encaixe no lado esquerdo da área do cliente.

  • CBRS_ALIGN_RIGHT Permite o encaixe no lado direito da área do cliente.

  • CBRS_ALIGN_ANY Permite o encaixe em qualquer lado da área do cliente.

Comentários

Por padrão, as barras de controle serão encaixadas em um lado da janela de quadros na seguinte ordem: superior, inferior, esquerda, direita.

Exemplo

Consulte o exemplo de CToolBar::Create.

CFrameWnd::EndModalState

Chame essa função de membro para alterar uma janela de quadro de modal para modeless.

virtual void EndModalState();

Comentários

EndModalState habilita todas as janelas desabilitadas por BeginModalState.

CFrameWnd::FloatControlBar

Chame essa função para fazer com que uma barra de controle não seja encaixada na janela de quadros.

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_TOP Orienta a barra de controle verticalmente.

  • CBRS_ALIGN_BOTTOM Orienta a barra de controle verticalmente.

  • CBRS_ALIGN_LEFT Orienta a barra de controle horizontalmente.

  • CBRS_ALIGN_RIGHT Orienta a barra de controle horizontalmente.

Se os estilos forem passados especificando orientação horizontal e vertical, a barra de ferramentas será orientada horizontalmente.

Comentários

Normalmente, isso é feito na inicialização do aplicativo quando o programa está restaurando as configurações da execução anterior.

Essa função é chamada pela estrutura quando o usuário causa uma operação de soltar liberando 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 o atual CDocument anexado ao modo de exibição ativo atual.

virtual CDocument* GetActiveDocument();

Valor de retorno

Um ponteiro para o atual CDocument. Se não houver nenhum documento atual, retornará NULL.

CFrameWnd::GetActiveFrame

Chame essa função de membro para obter um ponteiro para a janela filho MDI (interface de documento múltiplo) 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 a janela do quadro MDI não tiver nenhum documento ativo, o ponteiro implícito this será retornado.

Comentários

Se não houver nenhum filho MDI ativo ou se o aplicativo for uma SDI (interface de documento único), o ponteiro implícito this será retornado.

CFrameWnd::GetActiveView

Chame essa função de membro para obter um ponteiro para o modo de exibição ativo (se houver) anexado a uma janela de quadro ( CFrameWnd).

CView* GetActiveView() const;

Valor de retorno

Um ponteiro para o atual CView. Se não houver nenhum modo de exibição atual, retornará NULL.

Comentários

Essa função retorna NULL quando chamada para uma janela de quadro principal do MDI ( CMDIFrameWnd). Em um aplicativo MDI, a janela do quadro principal do MDI não tem uma exibição associada a ele. Em vez disso, cada janela CMDIChildWndfilho individual tem uma ou mais exibições associadas. O modo de exibição ativo em um aplicativo MDI pode ser obtido primeiro encontrando a janela filho MDI ativa e, em seguida, encontrando o modo de exibição ativo para essa janela filho. A janela filho MDI ativa pode ser encontrada chamando a função MDIGetActive ou GetActiveFrame conforme 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

Chame GetControlBar para obter acesso à barra de controle associada à 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 associada à ID.

Comentários

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 se ela estiver flutuando e, portanto, não for 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 de quadros no retorno.

Comentários

Em seguida, você pode gravar o conteúdo do CDockState armazenamento usando CDockState::SaveState ou Serialize. Se você quiser restaurar as barras de controle para um estado anterior, carregue o estado com CDockState::LoadState ou Serialize, em seguida, chame SetDockState para aplicar o estado anterior às barras de controle da janela de quadro.

CFrameWnd::GetMenuBarState

Recupera o estado de exibição do menu no aplicativo MFC atual.

virtual DWORD GetMenuBarState();

Valor de retorno

O valor retornado pode ter os seguintes valores:

  • AFX_MBS_VISIBLE (0x01) – O menu está visível.

  • AFX_MBS_HIDDEN (0x02) – O menu está oculto.

Comentários

Se ocorrer um erro de runtime, 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

Este método retorna um dos seguintes valores:

  • AFX_MBV_KEEPVISIBLE (0x01) – o menu é exibido o tempo todo 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. O menu é exibido até que você pressione a tecla ALT ou ESC para ocultá-lo.

Comentários

Se ocorrer um erro de runtime, 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.

Comentários

A implementação padrão simplesmente carrega a cadeia de caracteres especificada pelo nID arquivo de recurso. Essa função é chamada pela estrutura quando a cadeia de caracteres de mensagem na barra de status precisa ser atualizada.

CFrameWnd::GetTitle

Recupera o título do objeto de janela.

CString GetTitle() const;

Valor de retorno

Um CString objeto que contém o título atual do objeto de janela.

CFrameWnd::InitialUpdateFrame

Chamar 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 se tornar visível e ativo. Se FALSE, nenhum descendente é tornado visível.

Comentários

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 uma exibição ativa anteriormente, a exibição primária da janela de quadros será ativada. O modo de exibição principal é um modo de exibição com uma ID filho de AFX_IDW_PANE_FIRST. Por fim, a janela de quadro fica visível se bMakeVisible não for zero. Se bMakeVisible for 0, o foco atual e o estado visível da janela de 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 modeless.

BOOL InModalState() const;

Valor de retorno

Não zero se sim; caso contrário, 0.

CFrameWnd::IsTracking

Chame essa função de membro para determinar se a barra de divisor na janela está sendo movida no momento.

BOOL IsTracking() const;

Valor de retorno

Não zero se uma operação de divisor estiver em andamento; caso contrário, 0.

CFrameWnd::LoadAccelTable

Chame para carregar a tabela de acelerador especificada.

BOOL LoadAccelTable(LPCTSTR lpszResourceName);

Parâmetros

lpszResourceName
Identifica o nome do recurso de acelerador. Use MAKEINTRESOURCE se o recurso for identificado com uma ID de inteiro.

Valor de retorno

Não zero se a tabela de acelerador foi carregada com êxito; caso contrário, 0.

Comentários

Somente uma tabela pode ser carregada por vez.

Tabelas de acelerador 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 membro será desnecessária.

CFrameWnd::LoadBarState

Chame essa função para restaurar as configurações de cada barra de controle de propriedade da janela de quadro.

void LoadBarState(LPCTSTR lpszProfileName);

Parâmetros

lpszProfileName
Nome de uma seção no arquivo INI (inicialização) ou uma chave no registro Windows em que as informações de estado são armazenadas.

Comentários

As informações restauradas incluem visibilidade, orientação horizontal/vertical, estado de encaixe 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

Chame para criar dinamicamente uma janela de quadro a partir de informações de recurso.

virtual BOOL LoadFrame(
    UINT nIDResource,
    DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
    CWnd* pParentWnd = NULL,
    CCreateContext* pContext = NULL);

Parâmetros

nIDResource
A ID de recursos compartilhados associados à janela de quadro.

dwDefaultStyle
O estilo do quadro. Inclua o FWS_ADDTOTITLE estilo se você quiser 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. Esse parâmetro pode ser NULL.

Comentários

Construir 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 Windows quadro e os recursos associados e anexa a janela de quadro ao CFrameWnd objeto. O nIDResource parâmetro especifica o menu, a tabela do acelerador, o ícone e o recurso de cadeia de caracteres do título da janela de quadro.

Use a Create função membro em vez LoadFrame de quando quiser especificar todos os parâmetros de criação da janela de 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 de quadro, incluindo quaisquer objetos de exibição contidos. Você pode definir o pContext argumento para NULL quando chamar LoadFrame.

CFrameWnd::m_bAutoMenuEnable

Quando esse membro de dados estiver habilitado (que é o padrão), os itens de menu que não têm ON_UPDATE_COMMAND_UI ou ON_COMMAND manipuladores serão desabilitados automaticamente quando o usuário puxar um menu para baixo.

BOOL m_bAutoMenuEnable;

Comentários

Itens de menu que têm um ON_COMMAND manipulador, mas nenhum ON_UPDATE_COMMAND_UI manipulador será habilitado automaticamente.

Quando esse membro de dados é definido, os itens de menu são habilitados automaticamente da mesma forma que os botões da barra de ferramentas são habilitados.

Observação

m_bAutoMenuEnable não tem nenhum efeito em 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 do OLE inplace.

virtual BOOL NegotiateBorderSpace(
    UINT nBorderCmd,
    LPRECT lpRectBorder);

Parâmetros

nBorderCmd
Contém um dos seguintes valores do enum BorderCmd:

  • borderGet = 1

  • borderRequest = 2

  • borderSet = 3

lpRectBorder
Ponteiro para uma RECT estrutura ou um CRect objeto que especifica as coordenadas da borda.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

Comentários

Essa função 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
A ID da barra de controle que está sendo mostrada.

Valor de retorno

Não 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();

Comentários

Para habilitar a ajuda que diferencia contexto, você deve adicionar uma

ON_COMMAND(ID_CONTEXT_HELP, &CMainFrame::OnContextHelp)

instrução ao CFrameWnd mapa de mensagens de classe e também adicione uma entrada acelerador-tabela, normalmente SHIFT+F1, para habilitar essa função de membro.

Se o aplicativo for um contêiner OLE, OnContextHelp colocará todos os itens in-loco contidos no objeto da janela de quadro no modo 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. Essa função membro chama a função WinHelp Windows com o contexto de Ajuda do objeto sob o cursor.

CFrameWnd::OnCreateClient

Chamado pela estrutura durante a execução de OnCreate.

virtual BOOL OnCreateClient(
    LPCREATESTRUCT lpcs,
    CCreateContext* pContext);

Parâmetros

lpcs
Um ponteiro para uma estrutura WindowsCREATESTRUCT.

pContext
Um ponteiro para uma CCreateContext estrutura.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

Comentários

Nunca chame essa função.

A implementação padrão dessa função cria um CView objeto a partir das informações fornecidas, pContextse possível.

Substitua essa função para substituir valores passados no CCreateContext objeto ou para alterar a forma como os controles na área principal do cliente da janela de quadro são criados. Os CCreateContext membros que você pode substituir são descritos na CCreateContext classe.

Observação

Não substitua valores passados na CREATESTRUCT estrutura. Elas são somente para uso informativo. Se você quiser substituir o retângulo da janela inicial, por exemplo, substitua a CWnd função PreCreateWindowmembro.

CFrameWnd::OnHideMenuBar

Essa função é chamada quando o sistema está prestes a ocultar a barra de menus no aplicativo MFC atual.

virtual void OnHideMenuBar();

Comentários

Esse manipulador de eventos permite que seu aplicativo execute ações personalizadas quando o sistema está prestes a ocultar o menu. Não é possível impedir que o menu seja oculto, mas você 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 dentro e 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. Definido para TRUE ser colocado na visualização de impressão, FALSE para cancelar o modo de visualização.

pState
Um ponteiro para uma CPrintPreviewState estrutura.

Comentários

A implementação padrão desabilita 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 de quadro durante a visualização de impressão. Chame a implementação da classe base de dentro da versão substituída.

CFrameWnd::OnShowMenuBar

Essa função é chamada quando o sistema está prestes a exibir a barra de menus no aplicativo MFC atual.

virtual void OnShowMenuBar();

Comentários

Esse manipulador de eventos permite que seu aplicativo execute ações personalizadas quando o menu está prestes a ser exibido. Não é possível impedir que o menu seja exibido, mas você 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 de atualização. O manipulador de atualização chama a Enable função membro do CCmdUI objeto para pCmdUI atualizar a interface do usuário.

CFrameWnd::RecalcLayout

Chamado pela estrutura quando as barras de controle padrão são ativadas ou desativadas ou quando a janela de quadro é redimensionada.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parâmetros

bNotify
Determina se o item in-loco ativo da janela de quadro recebe a notificação da alteração de layout. Se TRUEo item for notificado; caso contrário FALSE.

Comentários

A implementação padrão dessa função membro chama a CWnd função RepositionBars membro para reposicionar todas as barras de controle no quadro, bem como na janela principal do cliente (geralmente a CView ou MDICLIENT).

Substitua essa função de membro para controlar a aparência e o comportamento das barras de controle depois que o layout da janela de quadros for alterado. Por exemplo, chame-o quando você ativar ou desativar as barras de controle ou adicionar outra barra de controle.

CFrameWnd::rectDefault

Passe isso estático CRect como um parâmetro ao criar uma janela para permitir que 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 pertencente à janela de quadros.

void SaveBarState(LPCTSTR lpszProfileName) const;

Parâmetros

lpszProfileName
Nome de uma seção no arquivo de inicialização ou uma chave no registro Windows onde as informações de estado são armazenadas.

Comentários

Essas informações podem ser lidas do arquivo de inicialização usando LoadBarState. As informações armazenadas incluem visibilidade, orientação horizontal/vertical, estado de encaixe e posição da barra de controle.

CFrameWnd::SetActivePreviewView

Designa o modo de exibição especificado para ser o modo de exibição ativo do Rich Preview.

void SetActivePreviewView(CView* pViewNew);

Parâmetros

pViewNew
Um ponteiro para um modo de exibição a ser ativado.

Comentários

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 a exibição deve ser notificada de ativação. Se TRUE, OnActivateView é chamado para o novo modo de exibição; se FALSE, não é.

Comentários

A estrutura chamará essa função automaticamente à medida que o usuário alterar o foco para uma exibição dentro da janela de quadros. 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 de quadro.

void SetDockState(const CDockState& state);

Parâmetros

state
Aplique o estado armazenado às barras de controle da janela de quadros.

Comentários

Para restaurar um estado anterior das barras de controle, você pode carregar o estado armazenado com CDockState::LoadState ou Serialize, em seguida, usá-lo SetDockState para aplicá-lo às barras de controle da janela de 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
[in] 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 ele estiver oculto, mas não terá efeito se estiver visível.
  • AFX_MBS_HIDDEN (0x02) – oculta o menu se ele estiver visível, mas não terá efeito se ele estiver oculto.

Valor de retorno

TRUE se esse método alterar com êxito o estado do menu; caso contrário, FALSE.

Comentários

Se ocorrer um erro de runtime, 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
[in] 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 o tempo todo 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. O menu é exibido até que você pressione a tecla ALT ou ESC para ocultá-lo.

Comentários

Se o valor do nStyle parâmetro não for válido, esse método será declarado no modo de depuração e será gerado CInvalidArgException no modo versão. No caso de outros erros de runtime, 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 gravados para Windows Vista e posteriores.

CFrameWnd::SetMessageText

Chame essa função para colocar uma cadeia de caracteres no painel de barras 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.

Comentários

Normalmente, esse é o painel mais à esquerda e mais longo da barra de status.

CFrameWnd::SetProgressBarPosition

Define a posição atual da barra de progresso Windows 7 exibida na barra de tarefas.

void SetProgressBarPosition(int nProgressPos);

Parâmetros

nProgressPos
Especifica a posição a ser definida. Ele deve estar dentro do intervalo definido por SetProgressBarRange.

Comentários

CFrameWnd::SetProgressBarRange

Define o intervalo para a barra de progresso Windows 7 exibida na barra de tarefas.

void SetProgressBarRange(
    int nRangeMin,
    int nRangeMax);

Parâmetros

nRangeMin
Valor mínimo.

nRangeMax
Valor máximo.

Comentários

CFrameWnd::SetProgressBarState

Define o tipo e o estado do indicador de progresso exibidos 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.

Comentários

CFrameWnd::SetTaskbarOverlayIcon

Sobrecarregado. Aplica uma sobreposição a um botão de 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 de recurso de um ícone a ser usado como a sobreposição. Confira a descrição para hIcon obter detalhes.

lpcszDescr
Um ponteiro para uma cadeia de caracteres que fornece uma versão de texto alt das informações transmitidas pela sobreposição, para fins de acessibilidade.

hIcon
O identificador de um ícone a ser usado como a sobreposição. Esse deve ser um ícone pequeno, medindo 16 x 16 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 maneira 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 ser gratuito hIcon quando ele não for mais necessário.

Valor de retorno

TRUEse tiver êxito; FALSE se a versão do sistema operacional for menor que Windows 7 ou se ocorrer um erro ao definir o ícone.

Comentários

CFrameWnd::SetTitle

Define o título do objeto de janela.

void SetTitle(LPCTSTR lpszTitle);

Parâmetros

lpszTitle
Um ponteiro para uma cadeia de caracteres que contém o título do objeto de janela.

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 mostrada ou ocultada.

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, atraso mostrando a barra de controle. Se FALSE, mostrar 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 ocultadas.

Confira também

CWnd Classe
Gráfico de Hierarquia
CWnd Classe
CMDIFrameWnd Classe
CMDIChildWnd Classe
CView Classe
CDocTemplate Classe
CRuntimeClass Estrutura