Compartilhar via


Ferramentas definidas pelo usuário

The Visual C++ 2008 Feature Pack ferramentas de definidos pelo usuário oferece suporte. Uma ferramenta definida pelo usuário é um comando especial que executa um programa externo especificado pelo usuário.Você pode usar o processo de personalização para gerenciar ferramentas definidas pelo usuário.Você não poderá usar esse processo se o seu objeto de aplicativo não é derivado de Classe CWinAppEx. Para obter mais informações sobre personalização, consulte Dicas de personalização para extensões do MFC.

Se você ativou o suporte a ferramentas definidas pelo usuário, a caixa de diálogo de personalização inclui automaticamente o Ferramentas guia.A ilustração a seguir mostra o Ferramentas página:

Guia Ferramentas da caixa de diálogo Personalização

Ativando definida pelo usuário ferramentas de suporte

Para habilitar ferramentas definidas pelo usuário em um aplicativo telefonar CWinAppEx::EnableUserTools. Mas primeiro, você deve definir diversas constantes no recurso arquivos do seu aplicativo para usar sistema autônomo parâmetros para esta telefonar.

No editor de recurso de criar um comando fictício que usa uma ID de comando apropriado.O exemplo a seguir, usamos ID_TOOLS_ENTRY sistema autônomo a ID de comando. Essa ID de comando marca um local em um ou mais menus onde a estrutura inserirá as ferramentas definidas pelo usuário.

Você deve conjunto lado algumas IDs consecutivos na tabela de seqüência de caracteres de representar as ferramentas definidas pelo usuário.O número de cadeias de caracteres que você reserve é igual ao número máximo de ferramentas de usuário que os usuários podem conjunto.No exemplo a seguir, eles são chamados ID_USER_TOOL1 por meio de ID_USER_TOOL10.

Você pode oferecer sugestões para sistema autônomo usuários para ajudá-los selecionar pastas e sistema autônomo argumentos para sistema autônomo programas externos que serão chamados sistema autônomo ferramentas.Para fazer isso, crie dois menus pop-up no editor de recursos.No exemplo a seguir, eles são nomeados IDR_MENU_ARGS e IDR_MENU_DIRS. Para cada comando nesses menus, defina uma seqüência na tabela de seqüência de caracteres da aplicativo.A ID do recurso da seqüência de caracteres deve ser igual a ID de comando.

Você também pode criar uma classe derivada de Classe CUserTool para substituir a implementação padrão. Para fazer isso, passar sistema autônomo informações de tempo de execução para sua classe derivada sistema autônomo o quarto parâmetro na CWinAppEx::EnableUserTools, em vez de RUNTIME_CLASS(Classe CUserTool).

Depois de definir constantes apropriadas, telefonar CWinAppEx::EnableUserTools Para habilitar ferramentas definidas pelo usuário.

A telefonar de método a seguir mostra como usar essas constantes:

   EnableUserTools(ID_TOOLS_ENTRY, ID_USER_TOOL1, ID_USER_TOOL10, RUNTIME_CLASS(CUserTool), IDR_MENU_ARGS, IDR_MENU_DIRS);

Neste exemplo, na guia Ferramentas será incluída no Personalização caixa de diálogo.A estrutura substituirá qualquer comando que coincide com o comando ID ID_TOOLS_ENTRY em qualquer menu com o conjunto de usuário definida atualmente ferramentas sempre que um usuário abre aquele menu. O comando identificações ID_USER_TOOL1 por meio de ID_USER_TOOL10 são reservados para uso para ferramentas definidas pelo usuário. A classe Classe CUserTool lida com chamadas para as ferramentas de usuário. Guia da ferramenta do Personalização caixa de diálogo fornece botões à direita dos campos de entrada de argumento e o diretório para acessar os menus IDR_MENU_ARGS e IDR_MENU_DIRS. Quando um usuário seleciona um comando de um desses menus, a estrutura acrescenta à caixa de texto apropriados a seqüência de caracteres que possui a ID do recurso igual para a ID do comando.

Incluindo ferramentas predefinidas

Se desejar predefinir algumas ferramentas na inicialização do aplicativo, você deve substituir o CFrameWnd::LoadFrame método da janela principal do seu aplicativo. Dentro desse método, execute as seguintes etapas:

Para adicionar novas ferramentas no LoadFrame

  1. Obter um ponteiro para o Classe CUserToolsManager objeto chamando CWinAppEx::GetUserToolsManager.

  2. Para cada ferramenta que você deseja criar, chamar CUserToolsManager::CreateNewTool. Esse método retorna um ponteiro para um Classe CUserTool objeto e adiciona a ferramenta de usuário recém-criado à coleção interna de ferramentas. Se você tiver fornecido sistema autônomo informações de tempo de execução para uma classe derivada de Classe CUserTool sistema autônomo o quarto parâmetro do CWinAppEx::EnableUserTools, CUserToolsManager::CreateNewTool será instanciar e retornar uma instância dessa classe em vez disso.

  3. Para cada ferramenta, conjunto o rótulo de texto definindo CUserTool::m_strLabel e defina seu comando chamando CUserTool::SetCommand. A implementação padrão de Classe CUserTool recupera automaticamente ícones disponível no programa que está especificado na telefonar para SetCommand.

Consulte também

Referência

Classe CUserTool

Classe CUserToolsManager

Classe CWinAppEx