Como acceder a HTML Help Workshop desde Visual Basic

 
Fecha: 03/Sep/2005 (31/08/05)
Autor: Victor Cotrina
E.Mail: Victorcotrina@Yahoo.com

 


Introducción

A todos los incautos que tienen tambien publicados artículos mentirosos respecto a que "no está bien implementado" el acceso a los archivos de ayuda HTML de extensión *.chm, y que por unos días casi me atrofian el cerebro con sus bobos comentarios, he querido compartir con ellos la verdad al respecto del acceso, el cual es tan igual y sencillo que acceder a las ayudas antiguas de windows.

1er. Paso

Despues de haber creado tu ayuda Html con el Html Help WorkShop, deberá comenzar lo siguiente:

Crear archivo para Mapear entradas

Si bien es cierto las ayudas antiguas de windos son accedidas a traves de números enteros, este acceso se puede seguir utilizando creando un archivo CTXHelp.h, como la cabecera de código de programación, el cual para evitar confuciones créalo y guardalo juntamente con el resto de páginas web de tu archivo de ayuda. La codificación debe ser como la que te muestro a continuación que use en un sistema que he desarrollado. Utiliza el NotePad.exe o block de notas (no requieres otro programa más complicado pues es texto simple), ojo ten cuidado al momento de guardar para que tenga la extensión h, y no así: CTXHelp.h.txt

#define IDH_INGRESO 10000
#define IDH_MENU 11000
#define IDH_SUSUARIOS 20000
#define IDH_SCONFIGURA 21000
#define IDH_MPRODUCTO 30000
#define IDH_MPROVEEDOR 31000
#define IDH_MCLIENTE 32000
#define IDH_MCLASE 33000
#define IDH_MMARCA 34000
#define IDH_MLOCAL 35000
#define IDH_MTECNICO 36000
#define IDH_TVENTA 40000
#define IDH_TCREDITO 41000
#define IDH_TSERVICIO 42000
#define IDH_TCAJA 43000
#define IDH_TINGRESO 44000
#define IDH_TGARANTIA 45000
#define IDH_TINVENTARIO 46000
#define IDH_TMONEDA 47000
#define IDH_TTOMARP 48000
#define IDH_TDARP 49000
#define IDH_CVENTA 50000
#define IDH_CCREDITO 52000
#define IDH_CSERVICIO 53000
#define IDH_CCAJA 54000
#define IDH_CINGRESO 55000
#define IDH_CPRODUCTOS 56000
#define IDH_CHPRODUCTO 56100
#define IDH_CINVENTARIOS 57000
#define IDH_CCLIENTES 58000
#define IDH_CHCLIENTE 59000
#define IDH_CPROVEEDORES 60000
#define IDH_CHPROVEEDORES 61000
#define IDH_CPRESTAMOS 62000
#define IDH_CSVENTAS 70000
#define IDH_CSMAYOR 71000
#define IDH_CSINGRESO 72000
#define IDH_CSINVENTARIO 73000
#define IDH_CSBALANCE 74000
#define IDH_CSSERVICIO 75000
#define IDH_CSPRESTAMOS 76000

Ojo que los números deben ser mayores a 1000, porque los más inferiores los usa el sistema para definir otras funciones del ayuda HTML que no viene al caso mencionar ahora. Se estan definiendo así nombres de constantes que usará el HTMLHelp WS para acceder a las páginas que desees, cada nombre de constante inicia con "IDH_" y luego el nombre que creas conveniente para que lo relaciones con alguna página web de tu ayuda HTML.

Insertar mapeado de entradas en HTMLHelp Workshop

Estando en la pestaña Proyecto (Proyect) hacer click en el botón HTMLHelp API informatión , luego aparecerá la ventana del mismo nombre, ubicate en la pestaña Mapa (Map), has click en el botón Archivo cabecera (Header file...) , se abrira la ventana Incluir archivo (incluide file), luego a trvés del botón Buscar (Browse...) ubica al archivo CTXHelp.h y seleccionalo quedado el resulta siguiente:

haces entonces click en el botón OK, y luego regresas a la ventana HTMLHelp API Informaction donde deberás hacer click en el botón ACEPTAR para guardar los cambios realizados, listo la primera parte.

2do. Paso

Despues de haber insertado el archivo cabecera para mapear el acceso a tu ayuda mediante números deberás indicarle a tu ayuda creada a que página web se accederá por cada constante que haz definido en el archivo cabecera, (aconsejo imprimas estos valores que guardaste en el archivo CTXHelp.h para que al momento de relacionarlos con las páginas web no te me equivoques)

Alias de acceso por cada constante del archivo cabecera

(Este paso es el más fastidioso, por ser un poco cansado)

Estando en la pestaña Proyecto (Proyect) hacer click en el botón HTMLHelp API informatión , luego aparecerá la ventana del mismo nombre, ubicate en la pestaña Alias, has click en el botón Agregar (Add). Aparecerá la ventana Alias, en esta ventana relacionaras una a una cada constante creada, a continuación te muestro como relacionas la primera constante del archivo cabecera con una página web del proyecto de ayuda:

Ojo, que no se coloca el número, sino el nombre de la constante, repite este proceso, hasta que termines. si el proyecto ayuda esta bien hecho, los nombres de las páginas web de tu proyecto aparecerán en la lista desplegable que está al centro de la ventana (debajo de Use it to refer to this HTML file:) debajo de Use esta referencia para acceder al archivo HTML.

terminando de relacionar todas las constantes con sus respectivos HTML tendrás un resultado parecido al siguiente.

Presiona el botón Aceptar para guardar los cambios realizados, en la pestaña Proyecto (Proyect), notarás que aparecen dos ítem más [Alias] con los alias que has agregado y el ítem [Map] con el archivo cabecera que agregaste.

3er. Paso

Lo siguiente aunque se menciona poco en bibliografías de Internet es importante, deberá agregar el archivo cabecera CTXHelp.h conjuntamente con los archivos HTML de tus páginas web de tu ayuda, esto te servirá para que al momento de compilar tu proyecto de ayuda, el archivo cabecera quede inserto dentro del archivo de tu proyecto de ayuda. así cuando instales tu ayuda solo agregarías el archivo *.chm, y ya no el archivo cabecera *.h

4to. Paso

Ahora en tu proyecto de Visual Basic no requeriras ningún código extra para hacer las llamadas a la página web que requiras.

Agregar a tu proyecto el archivo de ayuda *.chm

Teniendo tu proyecto en Visual basic agregas el archivo de ayuda, accediendo con las opciones, al igual que con las ayudas antiguas, Menu --> Proyecto --> Propiedasdes del proyecto, pestaña General, caja de texto Nombre del archivo de proyecto. nada del otro mundo.

Acceder a una página web del ayuda desde Visual Basic

Se hará a traves de la propiedad HelpContextID de los formularios o controles que permitan trabajar esta propiedad en donde se colocará el numero que colocaste en el archivo cabecera que a su ves esta relacionado con una página web en tu proyecto de su ayuda.

Para que funcione el acceso deberá dejar en False las propiedasdes WhatsThisButton y WhatsThisHelp.

ESO ES TODO LISTO.


ir al índice