Incorporar um HELP ao HELP do Delphi.
Olá pessoal,
Tenho várias classes, e preciso documenta-las, estou estudando a possiblidade de fazer isso em Model Maker (UML e Explicação, exemplo) e depois utilizar o Model Maker para exportar um arquivo de HELP.
Como eu poderia incorporar meu arquivo de HELP junto ao Delphi pra quando um clicar F1 em meu código ele chamar meu arquivo de ajuda?
Obrigado.
Tenho várias classes, e preciso documenta-las, estou estudando a possiblidade de fazer isso em Model Maker (UML e Explicação, exemplo) e depois utilizar o Model Maker para exportar um arquivo de HELP.
Como eu poderia incorporar meu arquivo de HELP junto ao Delphi pra quando um clicar F1 em meu código ele chamar meu arquivo de ajuda?
Obrigado.
Yallebr
Curtidas 0
Respostas
Massuda
29/03/2005
Não sei como funciona, sei que dá para adicionar/remover arquivos da Ajuda do Delphi... dê uma olhada na IDE em [b:18f0d57006]Help|Customize[/b:18f0d57006].
GOSTEI 0
Faelcavalcanti
29/03/2005
No formulario principal, logo apois o primeiro Uses da seção Interface , defina :
No onCreate do formulário principal faça o seguinte :
Agora é só usar essa procedure
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. Outra coisa, [b:d3d6dd0f1f]não coloque o nome do arquivo de help no Project/Options/HelpFile[/b:d3d6dd0f1f] , 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 .
:roll:
Falow!
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. Outra coisa, [b:d3d6dd0f1f]não coloque o nome do arquivo de help no Project/Options/HelpFile[/b:d3d6dd0f1f] , 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 .
:roll:
Falow!
GOSTEI 0