Código
No formulario principal , logo apois 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 .
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009