Conceitos básicos da barra de ferramentas
Este artigo descreve a implementação do MFC fundamental que permite adicionar uma barra de ferramentas padrão para seu aplicativo, selecionando uma opção no Assistente de aplicativo.Os tópicos abordados incluem:
A opção de barra de ferramentas do Assistente de aplicativo
A barra de ferramentas em código
O recurso de barra de ferramentas de edição
Várias barras de ferramentas
A opção de barra de ferramentas do Assistente de aplicativo
Para obter uma única barra de ferramentas com botões padrão, selecione a opção de barra de ferramentas padrão de encaixe na página rotulada como recursos de Interface do usuário.Isso adiciona código ao seu aplicativo que:
Cria o objeto de barra de ferramentas.
Gerencia a barra de ferramentas, incluindo sua capacidade de encaixar ou desencaixar.
A barra de ferramentas em código
A barra de ferramentas é um CToolBar objeto declarado como um membro de dados do seu aplicativo CMainFrame classe.Em outras palavras, o objeto de barra de ferramentas está incorporado no objeto de janela do quadro principal.Isso significa que o MFC cria a barra de ferramentas quando ela cria a janela do quadro e destrói a barra de ferramentas quando ela destrói a janela do quadro.A seguinte declaração de classe parcial para um aplicativo de interface (MDI) documento várias, mostra os membros de dados de uma barra de ferramentas incorporada e uma barra de status incorporada.Ele também mostra a substituição do OnCreate função de 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()
Criação de barra de ferramentas ocorre em CMainFrame::OnCreate.Chamadas MFC OnCreate depois de criar a janela do quadro, mas antes de que se torna visível.O padrão OnCreate que o Assistente de aplicativo gera oferece as seguintes tarefas na barra de ferramentas:
Chamadas de CToolBar do objeto criar função de membro para criar a base CToolBarCtrl objeto.
Chamadas LoadToolBar para carregar as informações de recurso da barra de ferramentas.
Chama funções para permitir encaixe, flutuante e dicas de ferramenta.Para obter detalhes sobre essas chamadas, consulte o artigo encaixe e barras de ferramentas flutuante.
Observação |
---|
O exemplo MFC geral DOCKTOOL inclui ilustrações antigas e novas barras de ferramentas do MFC.As barras de ferramentas que usam COldToolbar exigem chamadas na etapa 2 para LoadBitmap (em vez de LoadToolBar) e SetButtons.Novas barras de ferramentas exigem chamadas para LoadToolBar. |
O encaixe, flutuante e chamadas de dicas de ferramenta são opcionais.Você pode remover as linhas de OnCreate se preferir.O resultado é uma barra de ferramentas permanecerá fixo, não é possível flutuar ou encaixe-o novamente e não é possível exibir dicas de ferramentas.
O recurso de barra de ferramentas de edição
Barra de ferramentas padrão, você obtém com o Assistente de aplicativo se baseia em um RT_TOOLBAR recursos personalizados, introduzido no MFC versão 4.0.Você pode editar esse recurso com o editor de barra de ferramentas.O editor permite facilmente adicionar, excluir e reorganizar os botões.Ele contém um editor gráfico dos botões é muito semelhante ao editor de elementos gráficos gerais do 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 com um comando, você dê ao botão uma identificação de comando, como ID_MYCOMMAND.Especifique o ID de comando na página de propriedades do botão no editor de barra de ferramentas.Em seguida, crie uma função de manipulador para o comando (consulte Mapeamento mensagens para funções para obter mais informações).
Nova CToolBar funções de membro trabalham com o RT_TOOLBAR recurso.LoadToolBar tomou o lugar de LoadBitmap para carregar o bitmap de imagens de botão da barra de ferramentas, e SetButtons para definir os estilos de botão e conectar botões com imagens de bitmap.
Para obter detalhes sobre como usar o editor de barra de ferramentas, consulte Barra de ferramentas Editor.
Várias barras de ferramentas
O Assistente de aplicativo fornece ferramentas de um padrão.Se precisar de mais de uma barra de ferramentas em seu aplicativo, você pode modelar o seu código de barras de ferramentas adicionais com base no código gerado pelo Assistente para a barra de ferramentas padrão.
Se você desejar exibir uma barra de ferramentas como o resultado de um comando, você precisará:
Criar um novo recurso de barra de ferramentas da barra de ferramentas editor e carregá-lo em OnCreate com o LoadToolbar função de membro.
Incorporar uma nova CToolBar o objeto na sua classe de janela do quadro principal.
Fazer chamadas de função apropriada no OnCreate para encaixar ou desencaixar a barra de ferramentas, defina seus estilos e assim por diante.
O que você deseja saber mais sobre?
Implementação de barra de ferramentas do MFC (informações de visão geral das barras de ferramentas)
O CToolBar e CToolBarCtrl classes