Partilhar via


Fundamentos da barra de ferramentas

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

  • A opção da barra de ferramentas do assistente de aplicativo

  • A barra de ferramentas do código

  • Editando o recurso da barra de ferramentas

  • Mais barras de ferramentas

A opção da barra de ferramentas do assistente de aplicativo

Para obter uma única barra de ferramentas com botões padrão, selecione a opção padrão da barra de ferramentas de encaixe na página rotulada recursos de interface do usuário. Isso adicionará o código no aplicativo que:

  • Cria o objeto da barra de ferramentas.

  • Gerencia a barra de ferramentas, inclusive sua capacidade de inserir ou float.

A barra de ferramentas do código

A barra de ferramentas é um objeto de CToolBar declarado como um membro de dados da classe de CMainFrame do seu aplicativo. Ou seja o objeto da barra de ferramentas é inserido no objeto da janela principal do quadro. Isso significa que o MFC cria a barra de ferramentas quando cria a janela do quadro e destrói a barra de ferramentas quando destrói a janela do quadro. A seguinte declaração parcial da classe, para um aplicativo (MDI) de interface de documentos, mostra membros de dados para uma barra de ferramentas inserido e uma barra de status inserido. Também mostra a substituição da função de membro de OnCreate .

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. MFC O chama OnCreate depois de criar a janela para o quadro mas antes que fique visível. OnCreate padrão que o assistente do aplicativo gerenciar faz as seguintes tarefas da barra de ferramentas:

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

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

  3. As chamadas funcionam para habilitar o encaixe, flutuação, e as dicas de ferramenta. Para obter detalhes sobre essas chamadas, consulte o artigo Barras de ferramentas de acoplamento flexível e flutuante.

Dica

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

Encaixe o, flutuação, e as chamadas das dicas de ferramentas são opcionais. Você pode remover as linhas de OnCreate se preferir. O resultado é uma barra de ferramentas que permanece fixa, não é possível de float ou redock e conseguir exibir dicas de ferramenta.

Editando o recurso da barra de ferramentas

A barra de ferramentas padrão que você obtém o com o assistente de aplicativo é baseada em um recurso personalizado de RT_TOOLBAR , apresentado na versão 4,0 do MFC. Você poderá editar esse recurso com editor da barra de ferramentas. O publicador permite facilmente adicionar, excluir, e reordenar os botões. Contém um editor gráfico dos botões que é muito semelhante ao editor de gráficos geral no Visual C++. Se você editar barras de ferramentas em versões anteriores do Visual C++, você encontrará a tarefa muito mais fácil agora.

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

Novo trabalho das funções de membro de CToolBar com o recurso de RT_TOOLBAR . LoadToolBar tem agora o local de LoadBitmap para carregar o bitmap das imagens do botão da barra de ferramentas, e SetButtons para definir os estilos do botão e para conectar os botões com bitmap create imagem.

Para obter detalhes sobre como usar o editor da barra de ferramentas, consulte Editor da barra de ferramentas.

Mais barras de ferramentas

O assistente de aplicativo fornece com uma barra de ferramentas padrão. Se você precisar de mais de uma barra de ferramentas em seu aplicativo, você pode definir seu código para as barras de ferramentas adicionais com base no código script gerado para a barra de ferramentas padrão.

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

  • Crie um novo recurso da barra de ferramentas com o publicador da barra de ferramentas e carregá-los em OnCreate com a função de membro de LoadToolbar .

  • Digitar um novo objeto de CToolBar em sua classe da janela principal do quadro.

  • Faça as chamadas de funções apropriadas em OnCreate para inserir ou em float a barra de ferramentas, defina os estilos, e assim por diante.

Que você deseja saber mais?

Consulte também

Conceitos

Implementação da barra de ferramentas MFC