Chamar um HTMLHelp (.chm)

Tem coisas que a Borland, Codegear ou  Embarcadeiro abandonam, e as funções de integração de novos help são uma telas
para ajudar a chamar o help vou postar um exemplo tirado do arquivo de dicas de help de como chamar um help com extensão chm.

procure no seu computador a OCX hhctrl.ocx, caso não a encontre baixeo arquivo aqui e salve no diretório c:\windows\System32 ou na pasta do seu executável.

No formulário principal, logo após o primeiro uses da seção Interface, defina :

function HtmlHelp(hwndCaller: THandle; pszFile: PChar; uCommand:  cardinal;
                  dwData: longint): THandle; stdcall; external 'hhctrl.ocx' name 'HtmlHelpA' ;

No OnCreate do formulário principal faça o seguinte :

Application.OnMessage := ChamaHelp ;

Agora é só usar essa procedure

procedure TfrmPrincipal.ChamaHelp(var Msg: TMsg; var Handled: Boolean);
begin
   if  (Screen.ActiveForm.ClassName = 'TMessageForm') = false then
      if  Msg.message = WM_KEYDOWN then
         if  Msg.wParam = VK_F1 then
             HtmlHelp(Screen.ActiveForm.Handle,  PChar(Arquivo_de_Help.chm), 
                      $F, Screen.ActiveForm.HelpContext ) ;
end;

Pronto. Ao apertar a tecla F1 em qualquer parte do projeto o help será chamado, desde que o no formulário ativo, onde for pressionada o F1 a propriedade HelpContext esteja preenchida.

Importante:

Não coloque o nome do arquivo de help no Project>Options>HelpFile, nem no Application.HelpFile, pois ao pressionar F1 a aplicação tentará carregar o Htmlhelp (.CHM) que estiver lá , gerando uma exception pois o formato CHM não é suportado pelo Delphi .

Uma ideia sobre “Chamar um HTMLHelp (.chm)

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s