Compartilhar via


Conceitos básicos da barra de ferramentas

Este artigo descreve a implementação de MFC fundamental que permite adicionar uma barra de ferramentas padrão ao seu aplicativo selecionando uma opção no Assistente de Aplicativo. Os tópicos abordados incluem:

A opção barra de ferramentas do Assistente de Aplicativo

Para obter uma única barra de ferramentas com botões padrão, selecione a opção Barra de ferramentas do Encaixe Standard na página rotulada Recursos de Interface do Usuário. Isso adiciona código ao seu aplicativo que:

  • Cria o objeto da barra de ferramentas.

  • Gerencia a barra de ferramentas, incluindo sua capacidade de encaixar ou flutuar.

A barra de ferramentas no código

A barra de ferramentas é um objeto CToolBar declarado como um membro de dados da classe do CMainFrame aplicativo. Em outras palavras, o objeto da barra de ferramentas é inserido no objeto da janela de quadro principal. Isso significa que o MFC cria a barra de ferramentas quando cria a janela de quadros e destrói a barra de ferramentas quando destrói a janela de quadros. A declaração de classe parcial a seguir, para um aplicativo MDI (interface de documento múltiplo), mostra membros de dados para uma barra de ferramentas inserida e uma barra de status inserida. Ele também mostra a substituição da OnCreate função membro.

class CMainFrame : public CMDIFrameWnd
{
// Implementation
protected:  // control bar embedded members
   CStatusBar  m_wndStatusBar;
   CToolBar    m_wndToolBar;

// Generated message map functions
protected:
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   DECLARE_MESSAGE_MAP()

A criação da barra de ferramentas ocorre em CMainFrame::OnCreate. O MFC chama OnCreate depois de criar a janela para o quadro, mas antes de ficar visível. O padrão OnCreate gerado pelo Assistente de Aplicativo faz as seguintes tarefas da barra de ferramentas:

  1. Chama a CToolBar função Criar membro do objeto para criar o objeto CToolBarCtrl subjacente.

  2. Chama LoadToolBar para carregar as informações de recurso da barra de ferramentas.

  3. Chama funções para habilitar o encaixe, a flutuação e as dicas de ferramentas. Para obter detalhes sobre essas chamadas, consulte o artigo Encaixe e barras de ferramentas flutuantes.

Observação

O exemplo geral do MFC DOCKTOOL inclui ilustrações de barras de ferramentas MFC antigas e novas. As barras de ferramentas que usam COldToolbar exigem chamadas na etapa 2 para LoadBitmap (em vez de LoadToolBar) e para SetButtons. As novas barras de ferramentas exigem chamadas para LoadToolBar.

As chamadas de dicas de encaixe, flutuante e ferramenta são opcionais. Você pode remover essas linhas se OnCreate preferir. O resultado é uma barra de ferramentas que permanece fixa, não pode flutuar ou desencaixar e não consegue exibir dicas de ferramentas.

Editando o recurso da barra de ferramentas

A barra de ferramentas padrão que você obtém com o Assistente de Aplicativo é baseada em um recurso personalizado RT_TOOLBAR , introduzido no MFC versão 4.0. Você pode editar esse recurso com o editor da barra de ferramentas. O editor permite que você adicione, exclua e reorganize facilmente os botões. Ele contém um editor gráfico para os botões que é muito semelhante ao editor de gráficos gerais no Visual C++. Se você editou barras de ferramentas em versões anteriores do Visual C++, achará a tarefa muito mais fácil agora.

Para conectar um botão de barra de ferramentas a um comando, você fornece ao botão uma ID de comando, como ID_MYCOMMAND. Especifique a ID de comando na página de propriedades do botão no editor da barra de ferramentas. Em seguida, crie uma função de manipulador para o comando (consulte Mapeando Mensagens para Funções para obter mais informações).

As novas funções de membro CToolBar funcionam com o recurso RT_TOOLBAR . LoadToolBar agora assume o lugar de LoadBitmap para carregar o bitmap das imagens do botão da barra de ferramentas e SetButtons para definir os estilos de botão e conectar botões com imagens bitmap.

Para obter detalhes sobre como usar o editor de barras de ferramentas, consulte o Editor da Barra de Ferramentas.

Várias barras de ferramentas

O Assistente de Aplicativo fornece uma barra de ferramentas padrão. Se precisar de mais de uma barra de ferramentas em seu aplicativo, você poderá modelar seu código para barras de ferramentas adicionais com base no código gerado pelo assistente para a barra de ferramentas padrão.

Se você quiser exibir uma barra de ferramentas como resultado de um comando, precisará:

  • Crie um recurso de barra de ferramentas com o editor da barra de ferramentas e carregue-o OnCreate com a função membro LoadToolbar .

  • Insira um novo objeto CToolBar em sua classe de janela de quadro principal.

  • Faça as chamadas OnCreate de função apropriadas para encaixar ou flutuar a barra de ferramentas, definir seus estilos e assim por diante.

O que você quer saber mais sobre

Consulte também

Implementação da barra de ferramentas do MFC