• Jueves 14 de Noviembre de 2024, 17:01

Autor Tema:  Como Linkear El Archivo De Ayuda  (Leído 942 veces)

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Como Linkear El Archivo De Ayuda
« en: Martes 16 de Marzo de 2004, 16:21 »
0
Hola amigos:

Tengo una aplicacion que esta operando ok.
He diseñado el archivo de ayuda con el HCW.EXE  que trae VB.

Ahora la pregunta del millon.

En mi aplicacion, existe un menu Ayuda, que se supone debiera llamar al archivo de ayuda que he diseñado, como lo linkeo?

Igualmente deseo que desde cualquier parte del programa, al presionar F1, aparezca mi ayuda.

Gracias por la colaboracion

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Como Linkear El Archivo De Ayuda
« Respuesta #1 en: Martes 16 de Marzo de 2004, 23:28 »
0
En las propiedades del proyecto escribe el nombre del archivo de ayuda o en su caso también coloca esto al iniciar el programa...

Código: Text
  1.  
  2.     App.HelpFile = App.Path & "Ayuda.chm"
  3.  
  4.  

Lo siguiente va en un menú. Asegurate de que en el Editor de Menús el shortcut sea F1

Código: Text
  1.  
  2. Private Sub mnuHelpContenido_Click()
  3.     Dim h As Long
  4.     On Error Resume Next
  5.     h = HtmlHelp(Me.hwnd, "Ayuda.chm", HH_DISPLAY_TOPIC, 0&)
  6. End Sub
  7.  
  8.  
   
Lo siguiente puede ir en un módulo Bas...
Código: Text
  1.  
  2.  
  3. Option Explicit
  4.  
  5. 'En Microsoft TechNet puedes encontrar este artículo:
  6. 'HOWTO: Use HTML Help API in a Visual Basic 5.0 Application
  7. 'PSS ID Number: Q183434
  8. '
  9. 'Aunque la definición de la Enumeración y la primera declaración
  10. 'es de las news
  11. '
  12. 'Htmlhelp consts
  13.  Enum HH_COMMAND
  14.     HH_DISPLAY_TOPIC = &H0
  15.     HH_HELP_FINDER = &H0        ' WinHelp equivalent
  16.     HH_DISPLAY_TOC = &H1        ' not currently implemented
  17.     HH_DISPLAY_INDEX = &H2      ' not currently implemented
  18.     HH_DISPLAY_SEARCH = &H3     ' not currently implemented
  19.     HH_SET_WIN_TYPE = &H4
  20.     HH_GET_WIN_TYPE = &H5
  21.     HH_GET_WIN_HANDLE = &H6
  22.     HH_GET_INFO_TYPES = &H7     ' not currently implemented
  23.     HH_SET_INFO_TYPES = &H8     ' not currently implemented
  24.     HH_SYNC = &H9
  25.     HH_ADD_NAV_UI = &HA         ' not currently implemented
  26.     HH_ADD_BUTTON = &HB         ' not currently implemented
  27.     HH_GETBROWSER_APP = &HC     ' not currently implemented
  28.     HH_KEYWORD_LOOKUP = &HD
  29.     HH_DISPLAY_TEXT_POPUP = &HE ' display string resource id
  30.                                 ' or text in a popup window
  31.     HH_HELP_CONTEXT = &HF       ' display mapped numeric value
  32.                                 ' in dwData
  33.     HH_TP_HELP_CONTEXTMENU      ' Text pop-up help, similar to
  34.                                 ' WinHelp's HELP_CONTEXTMENU.
  35.     HH_TP_HELP_WM_HELP = &H11   ' text pop-up help, similar to
  36.                                 ' WinHelp's HELP_WM_HELP.
  37.     HH_CLOSE_ALL = &H12         ' close all windows opened directly
  38.                                 ' or indirectly by the caller
  39.     HH_ALINK_LOOKUP = &H13      ' ALink version of HH_KEYWORD_LOOKUP
  40. End Enum
  41.  
  42. 'HtmlHelp api call
  43. 'NOTA: Si se usa esta forma, hay que indicar el último parámetro
  44. '      con la palabra ByVal delante...
  45. 'Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
  46.     (ByVal hwndCaller As Long, ByVal pszFile As String, _
  47.     ByVal uCommand As HH_COMMAND, dwData As Any) As Long
  48. 'Con esta funciona perfectamente
  49. Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
  50.     (ByVal hwndCaller As Long, ByVal pszFile As String, _
  51.     ByVal uCommand As HH_COMMAND, ByVal dwData As Long) As Long
  52.  
  53.  
Lo último lo dejo tal como lo encontré en la red.
 :)