VB - Usando um arquivo de Ajuda na sua aplicação


Não sabe como usar um arquivo de ajuda na sua aplicação. Bem vou mostrar como usar um arquivo de ajuda padrão Windows ; aquele com a extensão .hlp !. Siga a receita:

1- Inicie um novo projeto no VB e insira um modulo no seu projeto.

2- Insira o seguinte código no módulo do seu programa:

Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal HWnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData As Long) As Long

'
definição de constantes usadas pela API

Public Const HELP_CONTEXT = &H1
Public Const HELP_QUIT = &H2
Public Const HELP_INDEX = &H3
Public Const HELP_HELPONHELP = &H4
Public Const HELP_SETINDEX = &H5
Public Const HELP_KEY = &H101
Public Const HELP_MULTIKEY = &H201

Public vHelp As String

A API WinHelp tem as seguintes características :

- Invoca o arquivo de ajuda (WINHELP.EXE) e passa dados adicionais indicando a natureza da ajuda requisitada pela aplicação.

- A API é Encontrada na library - User32 - e usa os seguintes parâmetros :

3- Agora no formulário padrão insira alguns controles de onde deseja chamar o arquivo de ajuda. Eu vou usar um botão de comando - command1 - e um controle Label - label1.

4- Agora no evento a partir do qual deseja chamar o help insira o seguinte código.(Aqui o código estará inserido no evento Click de command1 e de label1)

Private Sub Command1_Click()
  vHelp = WinHelp(Form1.HWnd, App.HelpFile, HELP_INDEX, CLng(0))
End Sub
Private Sub Label1_Click()
  vHelp = WinHelp(Form1.HWnd, App.HelpFile, HELP_INDEX, CLng(0))
End Sub

5- Não devemos esquecer de informar qual arquivo de ajuda queremos invocar. Podemos colocar o código no evento Load do formulário :

Private Sub Form_Load()
'para chamar um arquivo de ajuda com o mesmo nome da sua aplicação
'App.Helfpfile = App.Path & "\" & App.EXEName & ".hlp"

'para chamar um arquivo de ajuda chamado escola.hlp
App.HelpFile = App.Path & "\" & "escola.hlp"
End Sub

6- Finalmente digite o código abaixo no evento que encerra a aplicação : ( no meu caso no evento click de command2.)

Private Sub Command2_Click()
  Dim flag As String
  vHelp = WinHelp(Form1.HWnd, flag, HELP_QUIT, 0)
  End
End Sub

Agora basta clicar nos controles de onde deseja chamar o arquivo de ajuda .

Moleza, não é mesmo ?


José Carlos Macoratti