Compartir a través de


Mostrar ayuda contextual

Ayuda contextual, con el propósito de este tutorial, hace referencia a la compatibilidad de ayuda para los controles de un cuadro de diálogo que acceso de usuarios:

  • Presionando la tecla F1.

  • ¿Haciendo clic con el botón secundario en un control (¿qué es Esto?Ayuda).

  • ¿Usar el puntero de interrogación (el ¿qué es Esto?Puntero de Ayuda).

Para cada control que desee admitir ayuda contextual, establezca la propiedad HelpID a True.

Si es necesario, agregue htmlhelp.lib a la propiedad Dependencias adicionales, que está en la página de propiedades Entrada de la carpeta Vinculador en el cuadro de diálogo Páginas de propiedades del proyecto.

Información de origen para ayuda contextual se almacena en un archivo de .txt que se incluye en el proyecto de ayuda HTML.

Para crear el archivo de texto de ayuda contextual

  1. Utilice un editor de texto para crear un archivo de .txt.

  2. Da formato a los temas como sigue:

    .topic 1

    help text for control 1

    .topic 2

    help text for control 2

[!NOTA]

Para obtener más información, vea “ayuda contextual de Diseñar” en la ayuda en línea de ayuda HTML.En el menú Ayuda (en ayuda HTML help Workshop), elija Temas de Ayuda.

Después de crear el archivo de .txt, agréguelo a la sección de [archivos] en el archivo .hhp.

Para admitir la ayuda para los recursos en un cuadro de diálogo, debe crear una matriz bidimensional que asigna id. del control para ayudar a los id. (números de tema).

Para crear la matriz bidimensional

  • En el archivo .cpp, para cada clase que representa un cuadro de diálogo, agregue una matriz bidimensional al final de la clase.Por ejemplo:

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

Cada entrada de los pares de la matriz bidimensional un Id. de recurso para un control de cuadro de diálogo con un número de tema del archivo de texto de ayuda contextual.¿Si no desea un recurso concreto para tener ¿qué es Esto?Ayuda, utilice – 1.El segundo par de esta matriz debe ser 0,0.

El acceso de F1 a ayuda contextual significa que los usuarios podrán presionar F1 cuando un control tiene el foco para tener acceso a la ayuda.

Para habilitar el acceso de F1 a ayuda contextual

  • Implemente un controlador para el mensaje WM_HELPINFO (en cada clase de cuadro de diálogo donde desea el acceso de F1 a ayuda contextual) y aplique el código siguiente al controlador:

    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;
    }
    

¿Qué es Esto?Ayuda muestra la ayuda del control cuando un usuario hace clic con el botón secundario en el control.

¿Para implementar haga clic con el botón secundario en ¿qué es Esto?Ayuda

  • ¿Implemente un controlador (vea Asignar mensajes a funciones) para el mensaje WM_CONTEXTMENU en cada clase de cuadro de diálogo donde desee ¿qué es Esto?Ayuda (seleccione el identificador para el cuadro de diálogo de la lista de identificaciones de objeto).Implemente el código siguiente al controlador:

    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);
    }
    

Cuando se especifica el archivo .chm, la ubicación esperada es el directorio de trabajo del proyecto.Vea la ficha debug del cuadro de diálogo Páginas de propiedades para la ubicación del directorio de trabajo (de forma predeterminada, el directorio de proyecto).Cuando se especifica un archivo de texto en el .chm que contiene ayuda contextual, debe especificar la misma información de ubicación que se especifica para el archivo de .txt en el archivo .chm .hhp.

¿Si implementa ya el acceso de F1 y la ayuda contextual, es fácil habilitar el ¿qué es Esto?puntero, que hace que un signo de interrogación para mostrar en la barra de título, en la esquina superior derecha del cuadro de diálogo.

¿Para habilitar el ¿qué es Esto?Puntero de interrogación de Ayuda

  • Active la casilla Ayuda contextual en la pestaña Estilos extendidos de las propiedades del cuadro de diálogo.

Vea también

Conceptos

Ayuda HTML: Ayuda contextual para programas de IU