bonjour
Est-il possible d'écrire une application pour laquelle l'aide est au format chm ?
si oui, comment faut-il faire ?
Remerciements à tous
Version imprimable
bonjour
Est-il possible d'écrire une application pour laquelle l'aide est au format chm ?
si oui, comment faut-il faire ?
Remerciements à tous
Bonjour,
C'est possible. :mrgreen:
Voila en gros car le procédé mérite un raffinage certain ! :zoubi:, comment je procède avec un fichier chm dans lequel j'ai défini un ensemble de "HelpContext"
En mode conception (visuel), j'implémente la méthode OnHelp des fiches où je veux accéder à l'aide.
En mode conception (visuel) ou par code, je renseigne la propriété HelpContext du composant voulu (une fiche, un bouton, une zone d'édition, etc).
Au démarrage de l'application, j'affecte le chemin et le nom complet du fichier d'aide à la propriété HelpFile de l'objet Application.
Pour le code voici les lignes importantes (à adapter):
Code:
1
2
3
4
5
6
7
8 // Code source du projet //... begin Application.Initialize; Application.HelpFile := ExtractFilePath(ParamStr(0)) + 'Aide\MonAide.chm'; Application.CreateForm(TForm1, Form1); Application.Run; end.
Et le tour est joué ! ;)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 // Code d'une fiche //... implementation uses LCLType, HtmlHelp; //... function TForm1.FormHelp(Command: Word; Data: PtrInt; var CallHelp: Boolean ): Boolean; begin if Command = HELP_CONTEXT then // défini dans l'unité LCLType Command := HH_HELP_CONTEXT // défini dans l'unité HtmlHelp // Data contient l'information HelpContext else Command := HH_DISPLAY_INDEX;// défini dans l'unité HtmlHelp // Data est inutile dans ce cas // Appel de l'aide HtmlHelpA(Handle, PChar(Application.HelpFile), Command, Data); end;
--
Philippe