Para quem precisa documentar seu sistema ou criar um help, um bom editor de help é o
HelpNDoc.
Gera um Help em HTML, com um pouco de paciência se aprende rapidamente, tem uma excelente interface para o usuário, e o melhor, é inteiramente Free.
O endereço para baixar o programa é
http://www.ibe-software.com/products/software/helpndoc/Para rodar o programa você precisa ainda do HTMLhelp da Microsoft, que pode baixar em:
http://msdn.microsoft.com/library/defau ... nloads.aspImplementando HtmlHelp no XMaker.
PS: Sugiro que sempre que editarem algum arquivo nativo do XMaker, façam uma cópia de backup, para uma possível restauração.
1) No Modelo Geral Xmaker6.Na pasta c:\XMaker6\Delphi, editar o form Princ.pas no Delphi.
Logo após as Uses da seção Interface , defina a seguinte Função:
Function HtmlHelp(hwndCaller: THandle; pszFile: PChar; uCommand: cardinal; dwData: longint): THandle; stdcall;
external 'hhctrl.ocx' name 'HtmlHelpA' ;Acrescente no final do Formulários as seguintes procedures:
procedure TFormPrincipal.FormCreate(Sender: TObject);
begin
Application.OnMessage := ChamaHelp ;
end;
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;Na Procedure TFormPrincipal.FormShow comente:
{
Define o ícone da aplicação
}
Application.Icon.Handle := LoadIcon(HInstance, 'ICONESISTEMA');
// Application.HelpFile := Sistema.Pasta + 'Ajuda.Hlp';
Application.Title := Sistema.Titulo;
{
Controle de acesso habilitado ?
}Altere a Procedure TFormPrincipal.Mnu_86Click, como segue:
procedure TFormPrincipal.Mnu_86Click(Sender: TObject);
begin
if not LiberaAcesso(TMenuItem(Sender).Tag, 1) then // usuário possui acesso ?
Abort; // acesso negado, retorna ...
//INTERNO117;
begin
if (Screen.ActiveForm.ClassName = 'TMessageForm') = false then
HtmlHelp(Screen.ActiveForm.Handle, 'Help.CHM', $F, Screen.ActiveForm.HelpContext ) ;
end;
end;
Pronto . Ao apertar a tecla F1 em qualquer parte do projeto o help será chamado , desde que no formulário ativo , onde for pressionada o F1 a propriedade HelpContext esteja preenchida. Ou se clicar no menu Help, o mesmo será chamado.
2) Na Aplicação Gerada.Para modificar a aplicação gerada os passos são os mesmos acima, só que o form Princ.pas, estará no diretório onde foi gerado o seu projeto.