IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Aide en ligne contextuelle VC++


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Par défaut Aide en ligne contextuelle VC++
    Je développe actuellement une application en VC++ qui intègre une aide en ligne qui a été engendrée à partir d'un outil de gestion de documentation capable de fournir, en sortie, un fichier .CHM. Ce fichier intègre des "ancres" destinées à mettre en place une aide contextuelle: selon l'endroit où on se trouve dans le programme (fenêtre ou boite de dialogue ou zône de saisie) on souhaite que quand on presse la touche F1 on ait un accès direct à l'information correspondante dans ce fichier d'aide en ligne.

    Je constate que quand on presse F1 le fichier d'aide en ligne est bien ouvert mais le mécanisme "contectuel" ne fonctionne pas comme il devrait: l'aide en ligne s'ouvre toujours sur la page de bienvenue. Je recherche des explications sur la démarche à suivre pour que ça fonctionne correctement. Je soupçonne qu'il y a une syntaxe particulière à respecter quand on éxécute le programme hh.exe en lui passant comme paramètre le nom du fichier d'aide en ligne .CHM: peut être faut il rajouter un paramètre supplémentaire qui définirait l'ancre à accèder ?

    Voici comment j'ai mis en place cette aide en ligne:

    Les "ancres" du fichier .CHM ont été génèrées à l'aide du fichier .H suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #define IDH_HTMLHELP_BUG_BAIT 9999999999
    #define Map_Prot_LR 0x200B4 (0xB4 étant la valeur du #define IDR_MAINFRAME pour lequel on veut une aide contextuelle).
    #define Block_Change_plugLR_sans 0x103EB (0x3EB étant la valeur du #define IDC_... pour lequel on veut une aide contextuelle).
    J'ai mis en place le petit bout de code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ON_COMMAND(ID_HELP_FINDER, OnOnlineHelp)
    ON_COMMAND(ID_HELP, OnOnlineHelp) // Proceed with F1 keystroke
    ON_COMMAND(ID_CONTEXT_HELP, OnOnlineHelp) // Proceed with Shift + F1 keystroke
    ON_COMMAND(ID_DEFAULT_HELP, OnOnlineHelp)
    dans la Classe (CDialog) concernée par l'aide.

    et la fonction OnOnlineHelp() se présente comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Get_Executable_Path(LocBuf);
    strcat(LocBuf,"\\Help.chm");
    i=GetWindowsDirectory((LPSTR)Help32ExeDir,sizeof(Help32ExeDir));
    strcpy(lpCommandLine,Help32ExeDir);
    strcat(lpCommandLine,"\\hh.exe ");
    strcat(lpCommandLine,LocBuf);
    RunHelp(lpCommandLine,Help32ExeDir); // NO Wait
    Merci d'avance pour toute information à ce sujet.

    pense à mettre la balise code , Merci Farscape

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    regarde ce post de la faq : http://c.developpez.com/faq/vc/?page=IDE#HowToMakeHelp

Discussions similaires

  1. Aide en ligne pour un formulaire
    Par Michel DELAVAL dans le forum Access
    Réponses: 13
    Dernier message: 16/08/2006, 14h03
  2. [Free Pascal] Aide en ligne
    Par Gnux dans le forum Free Pascal
    Réponses: 1
    Dernier message: 27/01/2006, 12h30
  3. problèmes aide en ligne Delphi 2005
    Par philippe.vernhes dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 25/10/2005, 19h35
  4. comment activer l'aide en ligne
    Par saibe dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/01/2005, 14h23
  5. Aide en ligne
    Par étoile dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo