none
Aide contextuel et identifiant RRS feed

  • Question

  • Bonjour, Juste un petite Question: Je suis entrain de développer un Application avec Visual Studio 2010, MDI. J'ai suivi les recommandations du site de Microsoft pour Afficher l'aide contextuel, et celà fonctione avec les boutons de base: Par exemple clique sur le bouton "Afficher l'aide sur les boutons, les Menus, les Fichier" puis clique sur le bouton "Enregistrer", cela m'ouvre bien l'aide sur la bonne page, a savoir "Commande Enregistrer". Mais je n'arrive pas à la rajouter pour mes propres barre de boutons: J'ai bien vue qu'il y a un identifiant HID_File_Save et ID_File_Save. Mais où fait ont la relation entre les 2 identifiants : aide <----> bouton ou menu, pour que la méthode d'aide contextuel affiche la page que j'aurai préalablement créé ?

    Attention: je parle bien de Visual Stodio 2010, pas un des versions précédentes.

    Dans celui-ci, c'est la méthode "ON_COMMAND(ID_CONTEXT_HELP, &CMDIFrameWndEx::OnContextHelp)" de la carte des

    messages système, de la fenêtre principale, qui ouvre l'aide.

    Je me permets de le préciser, et d'insister sur ce point, car cela a changé avec les version précédentes.

    Merci d'avance.



    Bruno

    vendredi 11 avril 2014 20:30

Réponses

  • Bonjour,

    J'ai trouvé la réponse tout seul:

    Les liens  des Boutons (standards) donc entre les ID_... des Boutons  et HID_... de l'aide HTML,

    est intégré dans le fichier "HTMLDefines.h" si vous avez créé votre application avec le Sorcier, avec un aide évidement.

    Dans un Programme Visual 2010 C++, MFC, MDI, Dans la rubrique du Projet: "Fichiers d'aide HTML"

    on trouvealors le  fichier <Mon Application>.hhp

    Donc dans ce fichier , dans la Zone [MAP] il y a l'inclusion du fichier "HTMLDefines.h":

    [MAP]

    #include HTMLDefines.h

    Il suffit de créer son fichier (par exemple "HTML_Mes_Defines.h" de liens , et de le Rajouter dan la zone map du fichier <MonApplication>.hhp:

    [MAP]

    ...

    #include HTML_Mes_Defines.h

    Voilà Voilà

    Merci quand même.

    Cordialement


    Bruno

    vendredi 20 juin 2014 22:01

Toutes les réponses

  • Visual Studio n'est qu'un IDE. Il travaille avec des langages différents, par dizaines, des frameworks différents par centaines, et avec des librairies différentes par milliers.

    Donc, votre question est on ne peut plus vague.

    Je suppute que vous parlez des MFC, et plus précisément avec celles livrées avec une version pro de VC++ ?

    Un VC++ peut travail avec plusieurs versions différentes des MFC, du moment qu'elles soient installées sur le poste de développement.

    Normalement, ce genre de réglage se fait par l'intermédiaire du Wizard MFC qui s'occupe de toute la tuyauterie nécessaire au bon fonctionnement de l'aide en ligne.

    Si le comportement par défaut ne vous convient pas, vous avez toute latitude pour le changer via le routing des messages de commande des MFC.

    http://msdn.microsoft.com/en-us/library/shfzay75(v=vs.100).aspx#_core_standard_command_route


    Paul Bacelar, Ex - MVP VC++

    samedi 12 avril 2014 21:50
    Modérateur
  • Bonjour,

    Je précise plus:

    Je développe une application en Visual 2010 C++, MID, avec le compilateur Microsoft.

    Cette application a été crée avec la baguette magique "Application MDI Windows Form" de mémoire.

    PAr defaut, j'ai coché l'aide. Mais j'ai rajouté mes propre barre de boutons, et menus.

    Quand on crée son application C++, window MDI, il crée des barre de boutons, par défaut, et dans la barre standard, il y a un boutton "Afficher l'aide sur les boutons, les menus et les fichiers".

    Quand on clique dessus, puis ensuite sur un bouton, par exemple "Ouvrir",

    l'aide (crée avec le logiciel "HelpWorkShop" s'ouvre sur la page "Fichier Nouveau" de l'aide compilée:

    Il y a un identifiant, pour le bouton "Ouvrir" qui s'appelle "ID_FILE_OPEN"

    Dans l'aide, il s'appelle HID_FILE_OPEN.

    Je pense qu'il faut faire la relation entre les deux quelquepart.

    J'ai créée une page pour un de mes boutons, mais n'ayant pas trouvé comment faire la relation entre le ID du programme et le HID de laide j'ai le message:

    "Le démarrage de l'aide a échoué."

    Voilà voilà mon problème et ma question :

    Comme cette relation se fait elle, afin d'afficher la bonne page dans l'aide ?

    Merci


    Bruno

    dimanche 13 avril 2014 10:29
  • Vous semblez complètement perdu.

    Vous utilisez oui ou non les MFC ?

    Si oui, vous avez donné la réponse, c'est dans "ON_COMMAND(ID_CONTEXT_HELP, &CMDIFrameWndEx::OnContextHelp)".

    Regardez le code de CMDIFrameWndEx::OnContextHelp pour voir s'il présente des mécanismes de customisation.

    Pour l'association, il faut voir comment votre outil de création d'aide peut intégrer le resource.h de votre projet.

    Si vous n'utilisez pas les MFC, c'est que je n'ai rien compris à votre question.

    Pouvez-vous fournir des copies d'écran de votre application ? et de VS avec le projet ?


    Paul Bacelar, Ex - MVP VC++

    dimanche 13 avril 2014 23:46
    Modérateur
  • Bonjour

    bmoraut, un petit retour SVP?

    Merci,

    Bien cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 15 avril 2014 13:48
  • Bonjour,

    J'ai trouvé la réponse tout seul:

    Les liens  des Boutons (standards) donc entre les ID_... des Boutons  et HID_... de l'aide HTML,

    est intégré dans le fichier "HTMLDefines.h" si vous avez créé votre application avec le Sorcier, avec un aide évidement.

    Dans un Programme Visual 2010 C++, MFC, MDI, Dans la rubrique du Projet: "Fichiers d'aide HTML"

    on trouvealors le  fichier <Mon Application>.hhp

    Donc dans ce fichier , dans la Zone [MAP] il y a l'inclusion du fichier "HTMLDefines.h":

    [MAP]

    #include HTMLDefines.h

    Il suffit de créer son fichier (par exemple "HTML_Mes_Defines.h" de liens , et de le Rajouter dan la zone map du fichier <MonApplication>.hhp:

    [MAP]

    ...

    #include HTML_Mes_Defines.h

    Voilà Voilà

    Merci quand même.

    Cordialement


    Bruno

    vendredi 20 juin 2014 22:01
  • Merci pour ce retour.

    Paul Bacelar, Ex - MVP VC++

    lundi 23 juin 2014 12:44
    Modérateur