Los archivos de Ayuda son un origen de información valiosa para los usuarios de la aplicación. Con
Visual FoxPro, puede elegir crear Winhelp, Ayuda HTML o Ayuda de tipo .DBF.
La Ayuda gráfica puede ser Winhelp si desea una apariencia Windows, o una Ayuda HTML si desea
una apariencia de Web.
La Ayuda de tipo .DBF está basada en caracteres y le proporciona flexibilidad para migrar el archivo
de Ayuda a otras plataformas. Este tipo de Ayuda es fácil de crear porque está basada en una tabla de
Visual FoxPro.
Nota Microsoft Visual Studio 6.0 incluye el Microsoft HTML Workshop (Hhw.exe) para crear
archivos de Ayuda HTML. No incluye Microsoft Help Workshop 4.0 (Hcw.exe) para crear archivos
Winhelp. Las versiones anteriores de Microsoft Visual FoxPro incluían Microsoft Help Workshop
4.0.
l Ayuda HTML
l WinHelp 4.0
Ayuda HTML
La Ayuda HTML proporciona muchas de las características de Winhelp y agrega las siguientes:
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 2 de 24
l Soporte para ActiveX, Java y secuencias de comandos (Javascript y Microsoft Visual Basic
Script).
La Ayuda HTML se crea con Microsoft HTML Help Workshop, que se incluye en Visual Studio y en
Visual FoxPro. HTML Help Workshop proporciona un completo sistema de creación de Ayuda
HTML e incluye una compatibilidad con versiones anteriores que le permite crear fácilmente
archivos de Ayuda HTML a partir de proyectos Winhelp existentes. Para crear archivos de Ayuda
HTML en su aplicación, consulte la Ayuda en pantalla de HTML Help Workshop.
Archivo Descripción
Solution.chm Archivo de Ayuda compilado.
Solution.hhp Archivo de proyecto (un archivo de texto que reúne todos los elementos de
un proyecto de Ayuda y contiene información acerca de cómo va a aparecer
un archivo de Ayuda compilado).
Solution.hhk Archivo de índice; contiene las entradas del índice (palabras clave).
Solution.hhc Archivo de Tabla de contenido.
Solution.ali Archivo de alias para el soporte de Ayuda interactiva. Asocia Id. de producto
con temas de Ayuda.
Solution.hh Archivo de encabezados para el soporte de Ayuda interactiva. Incluye los Id.
de producto.
Solution.chi Archivo de índice utilizado cuando se suministran archivos .chm que van a
permanecer en un CD-ROM, como en el caso de la biblioteca MSDN. El
archivo .chi permite la instalación local de cierta información de exploración
en el disco duro que permite tener acceso de forma rápida, mientras que el
contenido principal reside en el CD-ROM. Los archivos .chi no se usan en
entornos sin CD-ROM. Cuando no se utilizan archivos .chi, toda la
información que podría almacenar permanece en el propio archivo .chm.
MSDN_ie3.css Hoja con el estilo de cascada.
MSDN_ie4.css Hoja con el estilo de cascada.
Archivo.htm Archivos de contenido.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 3 de 24
Además de crear un archivo de Ayuda HTML que contenga información útil, tiene que proporcionar
un medio para que los usuarios de su aplicación tengan acceso a dicha Ayuda. Hay tres maneras de
proporcionar Ayuda:
l Un menú Ayuda (un menú que aparece en la barra del menú principal de su aplicación).
l Ayuda interactiva (Ayuda que aparece cuando el usuario presiona F1, u otra tecla especificada,
mientras está seleccionado un objeto, control o opción de menú determinado).
l Ayuda "¿Qué es esto?" (Ayuda que aparece cuando el usuario pide Ayuda sobre un objeto o
control determinado).
El menú Ayuda suele contener comandos que proporcionan acceso a los temas de su sistema de
Ayuda. Se recomienda que sólo un comando del menú Ayuda abra su sistema de Ayuda HTML.
Además de dicho comando, puede incluir otros comandos en el menú Ayuda para proporcionar
información del sistema o la información de derechos de autor y la versión de su aplicación.
Interactividad
La Ayuda interactiva permite que los usuarios tengan acceso a los temas de Ayuda relacionados con
lo que estén haciendo o viendo en su aplicación en cualquier momento dado. Por ejemplo, si un
usuario está viendo un formulario de introducción de datos, la Ayuda interactiva podría proporcionar
un tema relacionado específicamente con dicho formulario.
Se suele llegar a la Ayuda interactiva al presionar F1, pero puede especificar que se active mediante
cualquier tecla con ON KEY LABEL.
Para implementar Ayuda interactiva, tiene que especificar el archivo de Ayuda de su aplicación y
después asociar temas de Ayuda determinados con objetos de su aplicación.
2. Asigne un tema de Ayuda a cada objeto para el que vaya a proporcionar Ayuda interactiva.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 4 de 24
El archivo de Ayuda al que se tiene acceso en su aplicación se determina al incluir el comando SET
HELP TO archivo en el código, donde archivo es el nombre del archivo de Ayuda. Por ejemplo, si el
archivo de Ayuda es MiAyuda.chm, puede utilizar el siguiente comando:
Este comando suele estar incluido en el código de configuración del programa principal de su
aplicación.
1. En modo Diseño, abra el objeto (por ejemplo, un formulario, un control o una barra de
herramientas) al que vaya a asignar Ayuda interactiva.
Para obtener más información acerca de la asociación de temas de Ayuda HTML con Id. de contexto,
consulte la Ayuda de HTML Help Workshop.
Nota Para asignar temas de Ayuda a títulos de menú o a comandos de menú, tiene que incluir el
comando SET TOPIC TO en el procedimiento asociado con el título de menú o el comando de menú.
La Ayuda "¿Qué es esto?" es similar a la Ayuda interactiva puesto que proporciona Ayuda
relacionada con el objeto o control específico que actualmente tiene el enfoque.
Al contrario que en WinHelp, la Ayuda HTML "¿Qué es esto?" se presenta en la ventana de Ayuda
con su tamaño predeterminado.
La Ayuda "¿Qué es esto?" se asocia con un formulario, control de formulario o barra de herramientas
particular estableciendo su propiedad WhatsThisHelpID al número correspondiente al tema asociado
de su archivo de Ayuda.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 5 de 24
Para implementar la Ayuda "¿Qué es esto?", utilice las siguientes propiedades y métodos:
Propiedad Descripción
WhatsThisHelp Establezca esta propiedad a True (.T.) en un formulario para activar la
Ayuda "¿Qué es esto?" en el formulario y en los controles del
formulario.
WhatsThisButton Establezca esta propiedad a True (.T.) si quiere que aparezca un botón
"¿Qué es esto?" en la barra de título del formulario.
WhatsThisHelpID En un formulario, control o barra de herramientas, establezca esta
propiedad al ID correspondiente al tema asociado de su archivo de
Ayuda HTML.
WhatsThisMode Utilice este método para mostrar el puntero con la interrogación para
la Ayuda "¿Qué es esto?" y activar dicho modo de Ayuda. Al hacer
clic en un objeto se muestra el tema de Ayuda "¿Qué es esto?"
especificado por la propiedad WhatsThisHelpID del objeto.
1. En modo Diseño, abra el formulario en el que vaya a activar la Ayuda "¿Qué es esto?".
3. Para mostrar un botón "¿Qué es esto?" en la barra de título del formulario, establezca la
propiedad WhatsThisButton del formulario a True (.T.).
5. Para asociar un tema de Ayuda "¿Qué es esto?" con un control concreto del formulario,
seleccione el control y establezca su propiedad WhatsThisHelpID al Id. correspondiente al
tema asociado de su archivo de Ayuda HTML.
Puede programar su aplicación para que los usuarios tengan acceso a su sistema de Ayuda HTML.
Aunque un sistema de Ayuda HTML puede consistir en uno o varios archivos separados, la Ayuda
aparece ante los usuarios como parte integrante de su aplicación.
Puede programar su aplicación de Visual FoxPro para utilizar Ayuda gráfica y Ayuda de tipo .dbf con
los comandos SET HELP TO y SET TOPIC TO. SET HELP TO especifica el nombre de un archivo
de Ayuda personalizado para su aplicación. SET TOPIC TO establece la palabra clave identificativa
de un tema del archivo de Ayuda personalizado.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 6 de 24
Reservar F1
Cuando un usuario presiona F1 dentro de su aplicación, Visual FoxPro puede mostrar un tema de
Ayuda interactiva. Para hacerlo así, asigne un Id. de contexto con un tema de su tabla de Ayuda y
asigne el mismo valor a la propiedad HelpContextID del formulario o el control. Cuando el
formulario o el control tengan el enfoque y el usuario presione F1, Visual FoxPro muestra el tema
asociado.
Nota De forma predeterminada, F1 está activada para la Ayuda interactiva. Como es un estándar
admitido para la Ayuda, no se recomienda la modificación de esta tecla.
Si agrega botones de Ayuda a sus formularios, los usuarios pueden tener acceso a la Ayuda con más
facilidad. Especialmente, debe considerar la inclusión de un botón de Ayuda si sus usuarios no son
muy experimentados.
THIS.SetAll("HelpContextID", 7)
HELP ID THIS.HelpContextID
Sugerencia Guarde el botón de Ayuda como una clase de forma que pueda incluirlo fácilmente en
cualquier otro formulario. Para obtener más información acerca de cómo guardar objetos como
clases, vea el capítulo 9, Crear formularios.
Además del archivo .chm que se crea para el sistema de Ayuda HTML, puede utilizar un programa de
instalación de uso y distribución gratuita, Hhupd.exe, que instala y registra los componentes de
ejecución de la Ayuda HTML mostrados a continuación. El Explorador de Internet o el motor de
ejecución del Explorador de Internet tienen que estar instalados en los equipos de los usuarios.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 7 de 24
Componente Descripción
Hhctrl.ocx Control ActiveX de la Ayuda HTML
Itss.dll Biblioteca de vínculos dinámicos que controla el HTML compilado
Itircl.dll Biblioteca de vínculos dinámicos para búsquedas de texto
Hh.exe Visor de Ayuda HTML
Este programa de instalación se encuentra en la carpeta Redist de la carpeta de instalación del Taller
de Ayuda HTML. Puede llamar a dicho programa de instalación desde otros programas de instalación
y ejecutarlo en modo 'silencioso' para que no interfiera con el programa de instalación que haya
creado. Para obtener la lista completa de las opciones de línea de comandos, ejecute Hhupd.exe/?.
WinHelp 4.0
Utilice Microsoft Help Workshop, proporcionado en las versiones anteriores de Visual FoxPro, para
crear archivos Winhelp. Microsoft Help Workshop incluye una Guía de diseño de Ayudas. La Guía
de diseño de Ayudas (Hcw.hlp) es un archivo de Ayuda gráfica que contiene gran parte de la
información necesaria para diseñar sistemas de Ayuda robustos.
Los sistemas WinHelp puede tener algunas o todas las funciones siguientes:
l Una página de contenido que proporciona una vista jerárquica de los temas del sistema de
Ayuda.
l Un índice, basado en las palabras clave que usted proporcione, que guía al usuario hasta una
información específica.
l Funciones de búsqueda de texto que permiten que los usuarios busquen palabras o frases en la
Ayuda.
l Texto con varias fuentes, tamaños de fuente y colores.
l Gráficos, incluyendo mapas de bits con varias resoluciones.
l Macros que automatizan o amplían la operación del sistema de Ayuda.
l Zonas activas (áreas sensibles al mouse que se crean para proporcionar a los usuarios saltos que
vinculan temas; ventanas emergentes que muestran texto adicional; y macros incluidas en el
sistema de Ayuda).
l Hipergráficos segmentados: gráficos con una o varias zonas activas.
l Ventanas secundarias.
l Menús personalizables.
l Gráficos en formato metarchivo de Windows.
l .DLLs.
Además de crear un archivo WinHelp que contenga la información necesaria, tiene que proporcionar
los medios a través de los cuales los usuarios de su aplicación van a tener acceso a la Ayuda. Hay tres
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 8 de 24
l Un menú Ayuda (un menú que aparece en la barra del menú principal de su aplicación).
l Ayuda interactiva (Ayuda que aparece cuando el usuario presiona F1, u otra tecla especificada,
mientras está seleccionado un objeto, control u opción de un menú determinado).
l Ayuda "¿Qué es esto?" (Ayuda que aparece como sugerencia emergente cuando el usuario pide
Ayuda sobre un objeto o control específico).
El menú Ayuda suele contener comandos que proporcionan acceso a los temas de su sistema de
Ayuda. WinHelp 4.0 incorpora la ventana Buscador de Ayuda, que es un único cuadro de diálogo que
proporciona acceso al contenido, al índice y a la búsqueda de texto.
Se recomienda que sólo un comando del menú Ayuda abra la ventana Buscador de Ayuda. Además
de dicho comando, puede incluir otros comandos en el menú Ayuda para proporcionar información
del sistema o la información de derechos de autor y la versión de su aplicación.
Puede invocar la ventana Buscador de Ayuda desde los programas mediante la función WinHelp con
el parámetro HELP FINDER. Para obtener más información, vea "Usar la función WinHelp" más
adelante en este capítulo y el tema WinHelp de la Guía de diseño de Ayudas.
Interactividad de la Ayuda
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 9 de 24
La Ayuda interactiva permite que los usuarios tengan acceso a los temas de Ayuda relacionados con
lo que estén haciendo o viendo en su aplicación en cualquier momento dado. Por ejemplo, si un
usuario está viendo un formulario de introducción de datos, la Ayuda interactiva podría proporcionar
un tema relacionado específicamente con dicho formulario
Se suele llegar a la Ayuda interactiva al presionar F1, pero puede especificar la activación de la
Ayuda interactiva mediante cualquier tecla con ON KEY LABEL.
Para implementar Ayuda interactiva, tiene que especificar el archivo de Ayuda de su aplicación y, a
continuación, asociar temas de Ayuda específicos a objetos de su aplicación.
2. Asigne un tema de Ayuda a cada objeto para el que vaya a proporcionar Ayuda interactiva.
El archivo de Ayuda al que se tiene acceso en su aplicación se determina al incluir el comando SET
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 10 de 24
HELP TO archivo en el código, donde archivo es el nombre del archivo de Ayuda. Por ejemplo, si el
archivo de Ayuda es MiAyuda.hlp, puede utilizar el siguiente comando:
Este comando suele estar incluido en el código de configuración del programa principal de su
aplicación.
1. En modo Diseño, abra el objeto (por ejemplo, un formulario, un control o una barra de
herramientas) al que vaya a asignar Ayuda interactiva.
Para obtener más información acerca de la asociación de temas de Ayuda con Id. de contexto,
consulte la Guía de diseño de Ayuda.
Nota Para asignar temas de Ayuda a títulos de menú o a comandos de menú, tiene que incluir el
comando SET TOPIC TO en el procedimiento asociado con el título de menú o el comando de menú.
La Ayuda "¿Qué es esto?" es similar a la Ayuda interactiva puesto que proporciona Ayuda
relacionada con el objeto o control determinado que tiene actualmente el enfoque. Sin embargo, en
lugar de invocar el archivo de Ayuda y mostrar el tema de Ayuda en la ventana de Ayuda con su
tamaño predeterminado, la Ayuda "¿Qué es esto?" muestra el tema en una pequeña ventana
emergente que desaparece en cuanto el usuario haga clic en cualquier parte de la pantalla. La Ayuda
"¿Qué es esto?" es útil para proporcionar breves descripciones, definiciones o sugerencias sobre
controles concretos.
Sugerencia Los temas de Ayuda "¿Qué es esto?" deben ser breves y concisos para que la ventana no
sea tan grande como para ocultar el componente que describe.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 11 de 24
Para implementar la Ayuda "¿Qué es esto?", utilice las siguientes propiedades y métodos:
Propiedad Descripción
WhatsThisHelp Establezca esta propiedad a True (.T.) en un formulario para activar la
Ayuda "¿Qué es esto?" en el formulario y en los controles del
formulario.
WhatsThisButton Establezca esta propiedad a True (.T.) si desea que aparezca un botón
"¿Qué es esto?" en la barra de título del formulario.
WhatsThisHelpID En un formulario, control o barra de herramientas, establezca esta
propiedad al Id. correspondiente al tema asociado de su archivo de
Ayuda.
WhatsThisMode Utilice este método para mostrar el puntero con la interrogación para
la Ayuda "¿Qué es esto?" y activar dicho modo de Ayuda. Al hacer
clic en un objeto se presenta el tema de Ayuda "¿Qué es esto?"
especificado por la propiedad WhatsThisHelpID del objeto.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 12 de 24
1. En modo Diseño, abra el formulario en el que vaya a activar la Ayuda "¿Qué es esto?".
3. Para mostrar un botón "¿Qué es esto?" en la barra de título del formulario, establezca la
propiedad WhatsThisButton del formulario a True (.T.).
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 13 de 24
Ayuda.
5. Para asociar un tema de Ayuda "¿Qué es esto?" a un control específico del formulario,
seleccione el control y establezca su propiedad WhatsThisHelpID al Id. correspondiente al
tema asociado de su archivo de Ayuda.
Puede programar su aplicación para que los usuarios tengan acceso a su sistema de Ayuda en la
Ayuda de Microsoft. Aunque un sistema de Ayuda puede consistir en uno o varios archivos
separados, la Ayuda aparece ante los usuarios como parte integrante de su aplicación.
Puede programar su aplicación Visual FoxPro para utilizar Ayuda gráfica y Ayuda de tipo .dbf con
los comandos SET HELP TO y SET TOPIC TO o con la función WinHelp, descrita más adelante en
este capítulo. SET HELP TO especifica el nombre de un archivo de Ayuda personalizado para su
aplicación. SET TOPIC TO establece la palabra clave identificativa de un tema del archivo de Ayuda
personalizado.
Otra forma de programar su aplicación para utilizar Ayuda es la utilización de la función WinHelp.
La función WinHelp forma parte de la interfaz de programación de aplicaciones (API) de Windows.
La función WinHelp sólo está disponible en las plataformas Windows.
Puede utilizar la función WinHelp junto con la propiedad HelpContextID, para invocar un segundo
archivo de Ayuda.
Sugerencia Si utiliza SET HELP TO, HELP ID y SET TOPIC TO, no necesita utilizar la función
WinHelp.
Para obtener la descripción de dichos parámetros, vea "El parámetro wCmd", más adelante en
este mismo capítulo.
2. Establezca la biblioteca con SET LIBRARY TO y defina las variables que vaya a utilizar,
normalmente en el código de inicialización del archivo principal de la aplicación.
Si quiere abrir un tema de Ayuda enviando su palabra clave K, defina una variable con RegFn
( ), de igual modo que la variable Help del ejemplo anterior. Si desea abrir un tema de Ayuda
asociado a un número, define una variable con RegFn de igual modo que la variable Help del
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 14 de 24
ejemplo anterior y utilice un número en lugar de una cadena de texto en dwData. Si pasa
números, tiene que asociarlos en la sección [MAP] del archivo .hpj con cadenas de contexto
únicas definidas con la nota al pie (#).
Por ejemplo, si su archivo de Ayuda es MiAyuda.hlp, utilice CallFn( ) para abrir un tema en
MiAyuda.hlp incluyendo la palabra clave K del tema:
Para obtener más información sobre las funciones de FoxTools, consulte Foxtools.chm en el
directorio Vfp98\Tools.
El parámetro hWnd
El parámetro hWnd identifica la ventana que solicita la Ayuda. La Ayuda utiliza este identificador
para saber qué aplicaciones han solicitado Ayuda. En Visual FoxPro, utilice la función MainHWND
( ), incluida en la biblioteca Foxtools.fll, para obtener el parámetro hWnd.
El argumento lpzFileName
El argumento lpzFileName representa una cadena de texto que especifica la ruta y el nombre del
archivo de Ayuda que contiene el tema deseado. Se pasa por valor.
El parámetro wCmd
El parámetro wCmd especifica el tipo de búsqueda que la Ayuda utiliza para buscar el tema
especificado o que la aplicación ya no requiere Ayuda. Puede establecerse a uno de los siguientes
valores.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 15 de 24
El parámetro dwData
El parámetro dwData representa el tema para el que la aplicación solicita Ayuda. Su contenido y su
formato dependen del valor de wCmd pasado cuando la aplicación invoca la función WinHelp.
En la mayor parte de las llamadas a Ayuda, el argumento dwData se pasa por valor. Es la forma
predeterminada de Visual FoxPro.
Dependiendo de las circunstancias, dwData puede representar una cadena de texto, indicando la
palabra clave que se busca, o un valor numérico, indicando el número de contexto que identifica al
tema concreto.
Como la función WinHelp puede especificar un número de contexto o una palabra clave, acepta la
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 16 de 24
Nota Si un archivo de Ayuda contiene dos o más índices, la aplicación tiene que asignar uno como
índice predeterminado. Para asegurarse de que el índice correcto esté establecido, la aplicación tiene
que invocar la Ayuda con wCmd establecido a help_setindex (y dwData especificando el
identificador de contexto adecuado). Todas las llamadas a Ayuda tienen que ir seguidas de un
comando establecido a help_context. Nunca se debe utilizar HELP_index con help_setindex.
Cuando un usuario presiona F1 en su aplicación, Visual FoxPro puede mostrar un tema de Ayuda
interactiva. Para hacerlo, asigne un Id. de contexto de Ayuda a un tema de su tabla de Ayuda y asigne
el mismo valor a la propiedad HelpContextID del formulario o el control. Cuando el formulario o el
control tiene el enfoque y el usuario presiona F1, Visual FoxPro muestra el tema asociado.
Nota De forma predeterminada, F1 está activada para la Ayuda interactiva. Como es un estándar
admitido para la Ayuda, no se recomienda la modificación de esta tecla.
Si agrega botones de Ayuda a sus formularios, los usuarios pueden tener acceso a la Ayuda con más
facilidad. Especialmente, debe considerar la inclusión de un botón de Ayuda si sus usuarios no son
muy experimentados.
THIS.SetAll("HelpContextID", 7)
HELP ID THIS.HelpContextID
Sugerencia Guarde el botón de Ayuda como una clase de forma que pueda incluirlo fácilmente en
cualquier otro formulario. Para obtener más información acerca de cómo guardar objetos como
clases, vea el capítulo 9, Crear formularios..
Salir de la Ayuda
La aplicación de Ayuda es un recurso compartido disponible por todas las aplicaciones Windows.
Como también es una aplicación independiente, el usuario puede ejecutarla como cualquier otra
aplicación. Como resultado, su aplicación tiene un control limitado sobre la aplicación de Ayuda.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 17 de 24
Las aplicaciones que hayan llamado a la Ayuda en algún punto de su ejecución tienen que llamar a la
Ayuda con el parámetro wCmd establecido a help_quit antes de terminar.
Si una aplicación abre más de un archivo de Ayuda, tiene que invocar la función WinHelp para salir
de la aplicación de Ayuda una vez por cada archivo abierto.
Si una aplicación o una biblioteca de vínculos dinámico (DLL) ha abierto un archivo de Ayuda pero
no quiere seguir manteniendo la asociación con la instancia de la aplicación de Ayuda, la aplicación o
la DLL tiene que invocar WinHelp con el parámetro wCmd establecido a help_quit para salir de dicha
instancia de la aplicación de Ayuda.
Nota Antes de terminar, las aplicaciones o las DLL tienen que llamar siempre a WinHelp por cada
uno de los archivos de Ayuda abiertos. Un archivo de Ayuda se abre si hace cualquier llamada a la
Ayuda con el nombre del archivo de Ayuda.
La aplicación de Ayuda no termina hasta que todas las ventanas que hayan solicitado la Ayuda la
hayan invocado con wCmd establecido a help_quit. Si alguna aplicación no lo hiciera, la aplicación
de Ayuda seguiría ejecutándose, incluso después de que todas las aplicaciones que solicitaron Ayuda
hubieran terminado.
l Obtener Ayuda interactiva sobre el cuadro de diálogo, el comando de menú o el objeto actual al
presionar F1.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 18 de 24
l Saltar a temas relacionados del archivo de Ayuda seleccionando un tema en la lista desplegable
"Vea también".
l Seleccionar una palabra o frase clave en medio de un tema y saltar a dicha palabra o frase
haciendo clic en el botón "Buscar".
l Copiar al Portapapeles el texto seleccionado en la ventana de Ayuda.
En Visual FoxPro se incluye un archivo de Ayuda de tipo .DBF, Ttrade.dbf, ubicado en el directorio
...\Samples\Vfp98\Tastrade\Help de Visual Studio. Las secciones siguientes usan el ejemplo
Ttrade.dbf para describir el diseño y el desplazamiento por la ayuda de tipo .DBF.
La ventana de Ayuda .DBF tiene dos modos: Temas y Detalles. El modo Temas muestra una lista de
todos los temas del archivo de Ayuda. Observe que la fuente de la ventana Ayuda .DBF es MS Sans
Serif y no se puede cambiar.
Al hacer doble clic en un tema, el contenido de ese tema aparece en el modo Detalles.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 19 de 24
Las tablas de Ayuda tienen capacidad para un máximo de 32.767 registros y deben contener al menos
dos campos. La tabla puede tener un primer campo opcional para interactividad. El ejemplo siguiente
muestra la configuración de una tabla de Ayuda típica:
No hay requisitos para los nombres de campo. Los tipos de campo son, en orden:
Carácter Es el nombre del tema que aparece en el modo Temas de la ventana de Ayuda.
Memo Este campo contiene la información que aparece en el modo Detalles de la ventana de
Ayuda.
Aparte de estos requisitos, puede agregar tantos campos adicionales como desee.
Descripción de Ttrade.dbf
Ttrade.dbf es un buen ejemplo de un archivo de Ayuda de tipo .DBF. Puede diseñar su archivo de
Ayuda basándose en Ttrade.dbf, o bien puede crear su propio diseño. Puesto que un archivo de Ayuda
es una tabla, puede crear su propio archivo de Ayuda creando una tabla nueva o copiando y
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 20 de 24
Para ver o modificar la tabla Ttrade.dbf, ábrala y examine su contenido como cualquier otra tabla. Si
ha ejecutado anteriormente el comando SET HELP TO TTRADE.DBF, deberá utilizar primero el
comando SET HELP OFF antes de abrir la tabla Ttrade.dbf.
Temas de TTRADE
Detalles de TTRADE
Cuando un usuario selecciona un tema en el modo Temas, la ventana de Ayuda muestra el contenido
del campo memo llamado Details.
En la mayoría de los temas de Ayuda, las referencias cruzadas de tipo "Vea también" aparecen al final
de la información de Detalles. Estas referencias se muestran automáticamente en el cuadro "Vea
también" y actúan como vínculos directos a los temas relacionados.
1. Al final del campo memo, escriba Vea también seguido de un signo de dos puntos y espacios
opcionales.
2. En la misma línea, escriba una lista delimitada por comas de los temas deseados.
La distinción entre mayúsculas y minúsculas no importa en la lista "Vea también"; Visual FoxPro
elimina los espacios en blanco de cada tema al que se hace referencia. Por ejemplo, las referencias
cruzadas para el tema Introducción aparecen a continuación.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 21 de 24
Sugerencia Agregue líneas por encima y por debajo de la sección "Vea también" al final del tema
para separarla visualmente del contenido.
Al buscar un tema en el cuadro "Vea también", Visual FoxPro intenta hacer coincidir la selección del
usuario con el primer tema de Ayuda que conste o comience por la misma cadena de texto. Si Visual
FoxPro no encuentra ninguna coincidencia, mostrará "No hay Ayuda para tema" en la barra de estado.
Especifique la tabla de Ayuda; para ello, ejecute el comando SET HELP TO nombrearchivo. De este
modo se cerrará la tabla de Ayuda actual, si había alguna abierta, y se abrirá nombrearchivo como
nueva tabla de Ayuda.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 22 de 24
En una situación típica de programación, guarde en una variable el nombre del archivo de Ayuda
actual y especifique el nombre del archivo de Ayuda en el código de inicialización, como en el
ejemplo siguiente:
cAyudaUsuario = SET("HELP", 1)
SET HELP TO MIAYUDA.DBF
Después de especificar la tabla de Ayuda, puede especificar los temas que desea mostrar de esta
forma:
l Para seleccionar temas por nombre, utilice los comandos HELP Tema o SET TOPIC TO
cNombreTemaAyuda.
l Para temas de Ayuda interactiva, utilice la propiedad HelpContextID.
l Para mostrar un subconjunto de temas, use el comando SET HELPFILTER.
Para seleccionar temas por nombre, utilice el comando HELP Tema. Cuando utilice este comando,
Visual FoxPro buscará en la tabla de Ayuda el registro cuyo campo de tema coincide con Tema. En la
búsqueda no se distinguen mayúsculas de minúsculas.
Cuando Visual FoxPro encuentre una coincidencia, mostrará el contenido del campo memo Detalles
en el modo Detalles de la ventana de Ayuda. Si Visual FoxPro no encuentra ninguna coincidencia,
mostrará todos los temas de una lista en el cuadro de diálogo Temas de Ayuda con la coincidencia
más cercana resaltada.
Puede diseñar la aplicación de modo que el usuario pueda obtener Ayuda interactiva de dos formas:
Reserva de F1
Cuando un usuario presiona F1 en la aplicación, Visual FoxPro puede mostrar un tema de Ayuda
interactiva. Para ello, asigne un HelpcontextID a un tema en la tabla de Ayuda y asigne el mismo
valor a la propiedad HelpContextID del formulario o el control. Cuando el formulario o el control
tenga el enfoque y el usuario presione F1, Visual FoxPro mostrará el tema correspondiente.
Nota F1 está activada para Ayuda interactiva de forma predeterminada. Puesto que se trata de un
estándar reconocido para la Ayuda, no se recomienda redefinir esta tecla.
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 23 de 24
Si agrega botones Ayuda a los formularios, los usuarios podrán tener acceso a la Ayuda de forma más
fácil. El botón Ayuda puede resultar especialmente útil si el usuario no tiene mucha experiencia.
Ahora ya puede asignar el tema de Ayuda al formulario. Es conveniente asignar un botón Ayuda, el
formulario y sus objetos al mismo tema de Ayuda.
1. En el evento Init del formulario, establezca la propiedad HelpContextID de todos los objetos
del formulario con el mismo valor que haya asignado al tema de Ayuda. Por ejemplo, si el
valor es 7, podrá emplear el comando siguiente:
THIS.SetAll("HelpContextID", 7)
HELP ID THIS.HelpContextID
Sugerencia Guarde el botón de Ayuda como una clase de manera que pueda agregarlo
fácilmente a cualquier formulario. En el Diseñador de formularios, elija Guardar como en el
menú Archivo. Para obtener más información sobre cómo guardar objetos como clases,
consulte el capítulo 9, Crear formularios..
Para especificar una ubicación para la Ayuda, debe crear su propia ventana mediante el comando
DEFINE WINDOW. Utilice este comando en el código de inicialización para especificar el tamaño y
la ubicación de la ventana. A continuación, muestre la ventana activándola o mostrándola.
Por ejemplo, los comandos siguientes definen una ventana llamada prueba y muestran la tabla de
Ayuda actual dentro de esa ventana:
file://C:\temp\~hhCCF2.htm 30/05/2000
Manual del programador, Parte 7: Crear archivos de Ayuda Página 24 de 24
Puesto que es posible agregar cualquier número de campos a una tabla de Ayuda, y que puede
emplearse cualquier expresión lógica para seleccionar temas de Ayuda, la imaginación es el único
límite para el sistema de Ayuda que puede crear.
l Definir una o muchas variables de programa que controlan el comportamiento del sistema de
Ayuda y, a continuación, asignar valores a estas variables de acuerdo con el modo operativo del
programa.
l Proporcionar más detalles en los archivos de Ayuda para los usuarios sin experiencia que para
los usuarios experimentados.
l Permitir que los usuarios tengan acceso a la Ayuda sólo si introducen una contraseña
determinada.
file://C:\temp\~hhCCF2.htm 30/05/2000