Partilhar via


Exibir a Ajuda contextual

Ajuda contextual, com o objetivo desta discussão, refere-se para ajudar a suporte para os controles em uma caixa de diálogo que os usuários acesso:

  • Pressionar a tecla F1.

  • Clique com o botão direito do mouse em um controle (o que é isto?Ajuda).

  • Usando o ponteiro de ponto de interrogação (o que é isto?Ponteiro da ajuda).

Para cada controle que você deseja oferecer suporte a ajuda contextual, defina a propriedade da HelpIDTrue.

Se necessário, adicione htmlhelp.lib à propriedade de Dependências Adicionais , que está na página de propriedades de Entrada da pasta de Vinculador na caixa de diálogo de Páginas de Propriedade do seu projeto.

Informações de origem para a ajuda contextual é armazenada em um arquivo de .txt que você incluir no seu projeto de ajuda HTML.

Para criar o arquivo de ajuda contextual

  1. Use um editor de texto para criar um arquivo de .txt.

  2. Formatar os tópicos a seguir:

    .topic 1

    help text for control 1

    .topic 2

    help text for control 2

ObservaçãoObservação

Para obter mais informações, consulte “criar a ajuda contextual” na ajuda on-line de ajuda HTML.No menu de Ajuda em (help workshop), escolha Tópicos da Ajuda.

Depois de criar o arquivo de .txt, adicione-o à seção de arquivos [] no arquivo de .hhp.

Para oferecer suporte a ajuda para recursos em um caixa de diálogo, você deve criar uma matriz bidimensional que mapeia identificações de controle para ajudar IDs (números do tópico).

Para criar a matriz bidimensional

  • No arquivo de .cpp, para cada classe que representa uma caixa de diálogo, adicione uma matriz bidimensional ao final da classe.Por exemplo:

    static DWORD myarray[] = {
       IDC_CHECK1, 1,
       IDC_BUTTON1, 2,
       IDC_EDIT1, (DWORD)-1,
       0,0
    };
    

Cada entrada na matriz bidimensional emparelha uma identificação de recurso para um controle de caixa de diálogo com um número do tópico do arquivo de ajuda contextual.Se você não desejar um recurso específico para o que é isto?Ajuda, use – 1.Os pares os últimos nesta matriz deve ser 0,0.

Acesso de F1 a ajuda contextual significa que os usuários poderão pressionar F1 quando um controle tem o foco para acessar a ajuda.

Para habilitar acesso da ajuda contextual F1

  • Implemente um manipulador para a mensagem de WM_HELPINFO (em cada classe da caixa de diálogo onde você deseja acesso de F1 a ajuda contextual) e implementar o seguinte código para o manipulador:

    BOOL CMyDlg::OnHelpInfo(HELPINFO* pHelpInfo)
    {
       BOOL bRet = TRUE;
    
       if (pHelpInfo->iContextType == HELPINFO_WINDOW)
       {
          HWND hwnd = ::HtmlHelp(
             (HWND)pHelpInfo->hItemHandle,
             _T("my_chm.chm::/ctrlhlp.txt"),
             HH_TP_HELP_WM_HELP,
             (DWORD)(LPVOID)myarray);
          bRet = (NULL != hwnd);
       }
    
       return bRet;
    }
    

Que é?Ajuda exibe a ajuda do controle quando um usuário clicar com o botão direito do mouse no controle.

Para implementar clique com o botão direito do mouse no que é isto?Help

  • Implementar um manipulador (consulte Mensagens do mapeamento de funções) para a mensagem de WM_CONTEXTMENU em cada classe da caixa de diálogo onde você deseja que o que é esta?Ajuda (selecione a identificação para a caixa de diálogo da lista de IDs de objeto).Implementar o seguinte código para o manipulador:

    void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point)
    {
       UNREFERENCED_PARAMETER(point);
    
       ::HtmlHelp(
          pWnd->GetSafeHwnd(),
          _T("my_chm.chm::/ctrlhlp.txt"),
          HH_TP_HELP_CONTEXTMENU,
          (DWORD)(LPVOID)myarray);
    }
    

Quando você especifica o arquivo .chm, o local esperado é o diretório do projeto.Consulte a guia de Depurar da caixa de diálogo de Páginas de Propriedade para a localidade do diretório de trabalho (por padrão, o diretório do projeto).Quando você especificar o arquivo de texto em .chm que contém ajuda contextual, você deve especificar as mesmas informações sobre o local especificado para o arquivo de .txt no arquivo .chm .hhp.

Se você já implementa o acesso de F1 a ajuda contextual, você pode facilmente ative o que é isto?ponteiro, que faz com que um ponto de interrogação aparece na barra de título, no canto superior direito da caixa de diálogo.

Para habilitar o que é isto?Ponteiro de ponto de interrogação da ajuda

  • Selecione a caixa de seleção de Ajuda de contexto na guia de Estilos Estendidos propriedades da caixa de diálogo.

Consulte também

Conceitos

Ajuda em HTML: Ajuda contextual para seus programas