Partilhar via


<PAVE OVER> Exibindo ajuda contextual

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

  • Pressionando a tecla F1.

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

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

Para cada controle que você deseja oferecer suporte a ajuda contextual, defina a propriedade de HelpID a True.

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 Propriedades de seu projeto.

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

Para criar o arquivo de texto de ajuda contextuais

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

  2. Formatar os tópicos da seguinte maneira:

    .topic 1

    help text for control 1

    .topic 2

    help text for control 2

Dica

Para obter mais informações, consulte “criando ajuda contextual” na ajuda online de ajuda HTML.No menu de Ajuda (no de ajuda HTML), escolha Tópicos de Ajuda.

Depois de criar o arquivo .txt, adiciona-o a seção de arquivos [] em seu arquivo de .hhp.

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

Para criar a matriz bidimensional

  • No arquivo .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 de emparelhamento de uma ID de recurso para um controle da caixa de diálogo com um número de tópico de arquivo de texto de ajuda contextual. Se você não desejar um recurso específico para ter o que é isso? Ajuda, use – 1. Os pares dos mais recentes nesta matriz deve ser 0,0.

O acesso de F1 para exibir a ajuda contextuais significa que os usuários poderão pressione F1 quando um controle que tem o foco para acessar a ajuda.

Para habilitar o acesso de F1 para exibir a ajuda contextuais

  • Implementar um manipulador para a mensagem de WM_HELPINFO (em cada classe da caixa de diálogo onde você deseja acesso de F1 para exibir a ajuda contextuais) e implementar o código a seguir 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 isso? A ajuda exibe a ajuda do controle quando um usuário clique com o botão direito do mouse no controle.

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

  • Implementar um manipulador Mensagens de mapeamento a funções(consulte) para a mensagem de WM_CONTEXTMENU em cada classe da caixa de diálogo onde você quer o que é esta? Ajuda (selecionar a ID da caixa de diálogo lista de IDs de objeto). O código a seguir para implementar 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 de trabalho do projeto. Consulte o guia de Depurar da caixa de diálogo de Páginas de Propriedades para o local do diretório de trabalho (por padrão, o diretório do projeto). Quando você especifica o arquivo de texto em .chm que contém a ajuda contextual, você deve especificar as mesmas informações sobre o local especificado para o arquivo .txt no arquivo .chm .hhp.

Se você já implementar o acesso de F1 para exibir a ajuda contextual, você pode facilmente habilitar o que é isso? 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 é isso?Ponteiro de ponto de interrogação da ajuda

  • Marque 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 os programas