Vamos ver como criar um Help usando arquivos HTML e integrá-los com suas aplicações em Visual Basic de forma clara e objetiva. Se você não tem idéia de como vai ser a cara do seu HELP dê uma olha no HELP do Internet Explorer 4.0 , gostou ?? Pois bem, o seu vair ser igual...
O que você vai precisar para começar:
Bem contando que tudo já esta pronto , os arquivos HTM e o HTML Help WorkShop instalado, podemos começar.
Eu vou mostrar como criar o HELP usando como exemplo o HELP do Controle Financeiro Pessoal . Assim crie um diretório para guardar os seus arquivos HTML e os arquivos do HTML HELP que serão gerados mais tarde.
Para você ter um idéia os tipos de arquivos usados no HTML HELP são:
Extensão do Arquivo | Tipo do Arquivo |
HHP | Projeto do HELP |
HHC | Tabela de conteúdo |
HHK | Indice |
CHM | Help Compilado |
HTM | Os arquivos HTM |
H | Arquivo de Cabeçalho. |
Eu criei um diretório chamado financa no drive C: C:\FINANCA e nele eu guardei todos os arquivos HTM que eu vou usar.
Arquivos Htm usados para montar o HTML HELP |
Agora inicie o HTML Help Workshop e escolha File|New , na janela de diálogo a seguir selecione a opção Project e clique OK. (Veja tela abaixo)
O Wizard para novo projeto é iniciado, agora você segue os seguintes passos para as próximas telas do Wizard:
Tela 1 - Clique em avançar.
Tela 2 - Informe o nome do diretório e o nome do seu projeto. Eu usei financa\financa.
Tela 3 - Como você já criou os seus arquivos selecione a opção HTML files(.htm)
Tela 4 - Clique no botão ADD e no diretório onde estão os seus arquivos HTML , selecione todos e clique em Abrir. Todos os seus arquivos deverão ser incluídos na janela, como abaixo:
Tela 5 - Clique em concluir e o Wizard será encerrado , voltando para a janela do seu projeto , agora já em andamento.(Ver abaixo)
A seguir clique na aba Contents, Selecione a opção Create a New Contents File e clique em OK .
Informe a seguir o nome da tabela de conteúdo, Eu usei o nome Conteudo.(Veja abaixo).Clique em Salvar.
A janela de Conteúdo surge aberta , e agora você pode usar os botões Insert Heading e Insert Page para inserir os seus arquivos HTM criados anteriormente.
Clique no botão para inserir um página , no quadro a seguir informe o nome que quer dar a página , clique no botão ADD e selecione o arquivo htm que você incluiu no projeto que esteja relacionado com este assunto.
Clique no botão OK e repita o processo para cada assunto do seu HELP , relacionando a seus arquivos HTML criados. De forma que no final devemos ter algo como a figura abaixo:
A seguir clique na aba Index e selecione a opção Create a New Index File e a seguir no botão OK, salvando o arquivo com o nome de indice (eu usei este nome).
A Janela de indice é aberta e nela você pode inserir as palavras chaves e relacioná-las com seus arquivos HTM criados de , como mostrado abaixo:
Repita a operação para cada palavra chave que você quiser incluir e relacionando-a com seus arquivos HTM criados de forma que no final você deverá ter algo como:
Clique na aba Project novamente e vamos definir a aparência da nossa janela de HELP. Clique no ícone : Add/Modify Windows Definitions e informe o nome de sua janela , eu usei meuhelp, a seguir configure-a a vontade, veja as opções na tela abaixo:
Agora vamos configurar o HTML Help para podermos usar Help sensível ao contexto, para isso clique no ícone: HTML Help API Information , a aba MAP e aberta e você deve incluir o nome do arquivo de cabeçalho. Este arquivo você deve criar com um editor DOS ou com o bloco de notas , ele tem a extensão H, eu usei o nome financa.h , o seu conteúdo deve relacionar um número a cada arquivo HTM que você criou assim no nosso caso obtivemos algo como:
A seguir clique na aba ALIAS e relacione cada arquivo usado no arquivo de cabeçalho com o seu arquivo HTM , veja abaixo:
Ao terminar voltaremos a janela de projeto do sistema para finalmente compilar nosso HTML HELP clicando no ícone : Save All Files e Compile
Durante a compilação temos na janela a direita a informação do status e dos erros que ocorrem. Dando tudo certo teremos no final a tela como abaixo:
E pronto , nosso Help já esta gerado , com o nome de financa.chm , e preparado para ser usado. Agora falta ajustar o código no Visual Basic para utilizar o HTML Help , para isto usaremos uma chamada a API e criaremos uma classe para tirar melhor proveito.
A API para usar mostrar os arquivos gerados faz parte do controle hhctrl.ocx , criaremos então uma classe com a HTMLHelp API no projeto para realizar a tarefa.
Crie uma classe é de um nome a ela, eu a chamei de vbhelp, a seguir entre com o seguinte código na seçao General Declarations:
'declarações e rotinas usadas pela classe vbhelp Option Explicit '// Constant declarations Private Const HH_DISPLAY_TOPIC = &H0 Private Const HH_HELP_CONTEXT = &HF '// API declaration |
A classe que usaremos possui um método - o método Show - criaremos o código para o método . ver abaixo
Public Sub Show(NewFile As String, Optional
WindowPane As String, Optional ContextID) Dim strfile As String strfile = NewFile If Len(WindowPane) Then strfile = Trim(strfile) & ">" & Trim(WindowPane) End If If IsMissing(ContextID) Then Call HtmlHelp(0, strfile, HH_DISPLAY_TOPIC, ByVal 0&) Else Call HtmlHelp(0, strfile, HH_HELP_CONTEXT, ContextID) End If End Sub |
No método podemos ver que o primeiro argumento , NewFile, é o nome do arquivo que pode ser arquivos HTM ou o arquivo compilado com Microsoft HTMLHelp Workshop com extensão CHM. O segundo argumento, Windowpane, é opcional e as definições da janela que usamos ao gerar o Help compilado. O terceiro argumento , ContextID , também opcional , fornece a identificação a ser usada para o Help sensível ao contexto.
Vejamos agora como usar a classe para chamar o HELP criado:
Para chamar o help de sua aplicação , você pode usar o código abaixo em um botão de comando. Ele faz uma chamada ao método Show da classe que criamos:
Dim strfile As String Dim objHelp As vbhelp Set objHelp = New vbhelp strfile = "c:\financa\financa.chm" Call objHelp.Show(strfile, "meuhelp") Set objHelp = Nothing |
Se quiser usar Help sensível ao contexto vai precisar referenciar a identificação do módulo que deseja chamar, assim para chamar o Help do módulo cadastro devemos fazer assim:
'chama help do contexto Dim strfile As String Dim objHelp As vbhelp Set objHelp = New vbhelp strfile = pathelp
Set objHelp = Nothing |
Espero que o HTML HELP aqui descrito te ajude !!
referência:
Integrating HTML Help into your applications, PRAMODA, Sant S. , Visual Basic On-Line, 1999