J'ai reçu une réponse bien détaillée sur comment faire une aide par rene38: (que je met ici car cela peut servir a d'autres :) )
Bonjour
1°) Créer les pages Html (avec Word par exemple) : AideGénérale.htm, Form1.htm, Command2.htm, ...
Chaque page correspond à l'aide sur une Form, un contrôle, ... du projet VB
Ajouter des liens hypertexte pour revenir à l'aide générale, aller à une page précise, ...
2°) Dans le projet VB, pour chaque contrôle ou Form qui doit avoir une page d'aide,
compléter la propriété HelpContextID avec une valeur différente de 0.
Par exemple pour Form1, on met HelpContextID = 21, pour Command2, HelpContextID = 35
(je mets n'importe quoi)
Dans l'objet de démarrage (Sub Main ou Form qui s'ouvre au démarrage,
ajouter l'instruction : App.HelpFile = App.Path & "\Aide.chm"
Compiler MonProjet.exe
3°) Lancer hhw.exe.
- File => New => Project => Suivant : indiquer le nom (par exemple Aide)
et le chemin (browse) du fichier projet : il s'appellera Aide.hhp
- => Suivant : cocher HTML Files (.htm)
- => Suivant => Add : ajouter les fichiers .htm créés au 1°).
- => Suivant => Terminer
4°) Utiliser les boutons à gauche :
1er bouton : Options : General :
Title = Titre de l'aide
Default file = la page qui s'ouvre par défaut (AideGénérale.htm)
2ème bouton : Topic Files :ajouter/supprimer des pages .htm
3ème bouton : Windows Types : Add a new Window Type Named (par exemple : Aide)
Title Bar Text : le titre des fenêtres d'aide => OK
Sauvegarder (File => Save project) et quitter hhw (File => Exit)
5°) Ouvrir Aide.hhp avec NOTEPAD.EXE : On doit voir :
[OPTIONS]
......
[WINDOWS]
.......
[FILES]
AideGénérale.htm
Form1.htm
Command2.htm
[INFOTYPES]
et on ajoute :
[ALIAS]
IDH_GENERAL=AideGénérale.htm
IDH_FEUILLE1=Form1.htm
IDH_BOUTON=Command2.htm
[MAP]
#define IDH_GENERAL 1
#define IDH_FEUILLE1 21
#define IDH_BOUTON 35
On sauvegarde le fichier Aide.hhp
6°) Lancer hhw.exe, ouvrir Aide.hhp (File -> Chemin\Aide.hhp)
Compiler : File => Compile
Quitter hhw
Recopier Aide.chm dans le dossier qui contient MonProjet.exe
L'appui sur la touche F1 appellera la page d'aide voulue.
Sinon merci à vous deux, mais je pense qu'il est impossible de cumuler la fonction "F1" appelant l'aide et la possibilté d'avoir le "?" pour appeler l'aide sur un endroit particulier.
Je vais essayer de créer un bouton "?" qui, lorsqu'il est activé, simulera la touche "F1" au clic sur un endroit précis( avec activation de cet endroit pour prendre en compte le n° du HelpContextId).
-------------------------------
Réponse au message :
-------------------------------
> Tu peux toujours essayer les raccourci clavier pour l'appui sur la touche F1 (méthode KeyDown) pour simuler l'aide...
>
> DARK SIDIOUS
>
> [Responsable de la rubrique API du site
www.ProgOtoP.net]
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour à tous,
> >
> > Je viens de réaliser une application et maintenant j'essai d'intégrer une aide simple et efficace et je rencontre un petit problème.
> > Je n'arrive pas à utiliser deux aides différentes, l'aide que l'on obtient par la touche F1 et l'aide que l'on obtient avec le petit "?" en cliquant sur n'importe quel endroit prévu pour...
> > Apparement je ne peut utiliser qu'une seule de ces deux formes d'aide et pas les deux en même temps ( quand je passe la propriété "whatThisHelp" a true pour avoir avoir le "?" je n'ai plus accés à l'aide par F1 et inversement quand je la passe à false j'ai accés à l'aide mais je n'ai plus le bouton "?".
> >
> > J'ai peut être tout faux et j'utilise peut être pas la bonne méthode.Je souhaite juste créer une aide ( j'utilise HTML Help Workshop ) qui soit disponible par un clic ou par F1 ( avec l'ouverture du fichier chm) mais je souhaite aussi que l'utilisateur puisse indiquer sur quel bouton ou quelle case à cocher il désir avoir une aide et ainsi le renvoyer à la partie de l'aide qui l'interesse.
> > Est ce que quelqu'un pourrais me venir en aide ? ;)
> >
> > merci
>