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.
Este artigo descreve a implementação 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:
Opção da Barra de Ferramentas do Assistente de Aplicação
Para obter uma única barra de ferramentas com botões padrão, selecione a opção da barra de ferramentas Encaixe padrão na página Recursos da 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 seu aplicativo. Em outras palavras, o objeto da barra de ferramentas é incorporado no objeto da janela do quadro principal. Isso significa que o MFC cria a barra de ferramentas quando cria a janela de quadro e destrói a barra de ferramentas quando destrói a janela de quadro. A declaração de classe parcial a seguir, para um aplicativo MDI (interface de vários documentos), mostra membros de dados para uma barra de ferramentas incorporada e uma barra de status incorporada. Ele também mostra a sobrescrição da função de membro 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 chama OnCreate depois de criar a janela para o quadro, mas antes que ele se torne visível. O padrão OnCreate que o Assistente de aplicativo gera executa as seguintes tarefas da barra de ferramentas:
Chama a função-membro
CToolBardo objeto para criar o objeto subjacente CToolBarCtrl.Chama LoadToolBar para carregar as informações do recurso da barra de ferramentas.
Chama funções para habilitar encaixe, flutuação e dicas de ferramentas. Para obter detalhes sobre estes comandos, consulte o artigo Docking and Floating Toolbars.
Observação
O exemplo geral 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 encaixe, flutuação e dicas de ferramentas são opcionais. Você pode remover essas linhas de OnCreate se preferir. O resultado é uma barra de ferramentas que permanece fixa, incapaz de flutuar ou reencaixar e incapaz de 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 este recurso com o editor da barra de ferramentas. O editor permite que você adicione, exclua e reorganize botões facilmente. 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++, você achará a tarefa muito mais fácil agora.
Para conectar um botão da barra de ferramentas a um comando, dê ao botão uma ID de comando, como ID_MYCOMMAND. Especifique o ID do 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 Mapeamento de Mensagens para Funções para mais informações).
Novas funções de membro do CToolBar funcionam com o recurso RT_TOOLBAR. LoadToolBar agora substitui LoadBitmap para carregar o bitmap das imagens de 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 da barra de ferramentas, consulte Editor da barra de ferramentas.
Várias barras de ferramentas
O Assistente de aplicativo fornece uma barra de ferramentas padrão. Se você precisar de mais de uma barra de ferramentas em seu aplicativo, você pode 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 quiser exibir uma barra de ferramentas como resultado de um comando, você precisará:
Crie um novo recurso da barra de ferramentas com o editor da barra de ferramentas e carregue-o no
OnCreatecom a função de membro LoadToolbar.Incorpore um novo objeto CToolBar em sua classe de janela de quadro principal.
Faça as chamadas de função apropriadas em
OnCreatepara encaixar ou flutuar a barra de ferramentas, definir os seus estilos e assim por diante.
O que você quer saber mais sobre
Implementação da Barra de Ferramentas MFC (informações gerais sobre barras de ferramentas)
As classes CToolBar e CToolBarCtrl