Implementação da barra de ferramentas MFC

Uma barra de ferramentas é uma barra de controle que contém as imagens de bitmap dos controles. Essas imagens podem se comportar como botões de pressão, caixas de seleção ou botões de opção. O MFC fornece a classe CToolbar para gerenciar barras de ferramentas.

Se você habilitá-la, os usuários das barras de ferramentas do MFC poderão acoplá-las à borda de uma janela ou fazê-las "flutuar" em qualquer lugar dentro da janela do aplicativo. O MFC não dá suporte a barras de ferramentas personalizáveis como as do ambiente de desenvolvimento.

O MFC também dá suporte a dicas de ferramenta: pequenas janelas pop-up que descrevem a finalidade de um botão de barra de ferramentas quando você posiciona o mouse sobre ele. Por padrão, quando o usuário pressiona um botão de barra de ferramentas, uma cadeia de caracteres de status aparece na barra de status (se houver uma). Você pode ativar uma barra de status "de passagem" para exibir a cadeia de caracteres de status quando o mouse está posicionado sobre o botão sem pressioná-lo.

Observação

Começando na versão 4.0 do MFC, as barras de ferramentas e dicas de ferramenta são implementadas usando a funcionalidade do Windows 95 e posterior, em vez da implementação anterior específica do MFC.

Para compatibilidade com versões anteriores, o MFC mantém a implementação da barra de ferramentas mais antiga na classe COldToolBar. A documentação de versões anteriores do MFC descreve COldToolBar em CToolBar.

Crie a primeira barra de ferramentas no programa selecionando a opção Barra de Ferramentas no Assistente de Aplicativo. Você também poderá criar barras de ferramentas adicionais.

Os seguintes são apresentados neste artigo:

Botões da Barra de ferramentas

Os botões em uma barra de ferramentas são análogos aos itens em um menu. Ambos os tipos de objetos da interface do usuário geram comandos, que o programa manipula fornecendo funções de manipulador. Geralmente, os botões da barra de ferramentas duplicam a funcionalidade dos comandos de menu, fornecendo uma interface do usuário alternativa para a mesma funcionalidade. Essa duplicação é organizada simplesmente dando ao botão e ao item de menu a mesma ID.

Você pode fazer com que os botões em uma barra de ferramentas apareçam e se comportem como botões de pressão, caixas de seleção ou botões de opção. Para obter mais informações, confira a classe CToolBar.

Encaixando e flutuando barras de ferramentas

Uma barra de ferramentas do MFC pode:

  • Permanecer parada em um lado da janela pai.

  • Ser arrastada e "encaixada", ou anexada, pelo usuário a qualquer lado da janela pai que você especificar.

  • "Flutuar", ou ser desanexada da janela de quadro, na própria janela com minimoldura, para que o usuário possa movê-la para qualquer posição conveniente.

  • Ser redimensionada enquanto estiver flutuando.

Para obter mais informações, consulte o artigo Barras de ferramentas de encaixe e flutuantes.

Barras de ferramentas e dicas de ferramenta

As barras de ferramentas do MFC também podem exibir "dicas de ferramenta" — pequenas janelas pop-up que contêm uma breve descrição de texto da finalidade de um botão de barra de ferramentas. À medida que o usuário move o mouse sobre um botão de barra de ferramentas, a janela da dica de ferramenta aparece para oferecer uma dica. Para obter mais informações, consulte o artigo Dicas de ferramenta da barra de ferramentas.

As classes CToolBar e CToolBarCtrl

Você gerencia as barras de ferramentas do aplicativo por meio da classe CToolBar. Começando na versão 4.0 do MFC, CToolBar foi reimplementado para usar o controle comum de barra de ferramentas disponível no Windows 95 ou posterior e no Windows NT versão 3.51 ou posterior.

Essa reimplementação resulta em menos código MFC para as barras de ferramentas, pois o MFC usa o suporte do sistema operacional. A reimplementação também aprimora a capacidade. Você pode usar funções membro CToolBar para manipular as barras de ferramentas ou pode obter uma referência ao objeto CToolBarCtrl subjacente e chamar suas funções membro para a personalização da barra de ferramentas e funcionalidades adicionais.

Dica

Se você investiu pesado na implementação mais antiga de MFC do CToolBar, esse suporte ainda está disponível. Consulte o artigo Usando suas barras de ferramentas antigas.

Consulte também o exemplo geral do MFC DOCKTOOL.

O bitmap da Barra de Ferramentas

Depois de construído, um objeto CToolBar cria a imagem da barra de ferramentas carregando um só bitmap que contém uma imagem para cada botão. O Assistente de Aplicativo cria um bitmap de barra de ferramentas padrão que você pode personalizar com o editor da barras de ferramentas do Visual C++.

O que mais você deseja saber?

Confira também

Barras de Ferramentas
Editor de barra de ferramentas