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

C++Builder Discussion :

Intégrer fichier d'aide .chm sous BCB5


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Points : 25
    Points
    25
    Par défaut Intégrer fichier d'aide .chm sous BCB5
    Bonjour,
    j'ai crée un fichier d'aide au format .chm grâce HTML help workshop et je voudrais pouvoir l'ouvrir grâce à un bouton d'une application crée sous Borland C++ Builder 5.
    Comment faire?

    Par ailleur je viens de lire que BCB5 ne prend pas en compte le format .chm est ce vrai? (dans ce cas le pb serait régler...)
    Je ne veut plus créer de fichier d'aide au format .HLP car apparament ce format ne sera plus utilisable sur Windows Vista http://support.microsoft.com/?scid=k...7607&x=16&y=15

    Merci d'avance!

  2. #2
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    Si tu veux que tes applis tournent sous les dernières versions de Windows, il faudrait peut être te procurer Turbo C++ , mieux adapté.

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut a+polux:
    Un lien sur Delphi qui pourrait t'interresser.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Merci d'avoir posté des réponses =)

    Citation Envoyé par Altau
    Si tu veux que tes applis tournent sous les dernières versions de Windows, il faudrait peut être te procurer Turbo C++ , mieux adapté.
    On est plusieurs à travailler sur un meme projet et on utilise tous BCB5, alors je peut pas changer de compilateur.

    Citation Envoyé par Altau
    Salut a+polux:
    Un lien sur Delphi qui pourrait t'interresser.
    Citation:
    http://sjrd.developpez.com/windows/t...p/?page=projet
    C'est un tuto qui dit comment créer des fichiers d'aide HLP et justement je ne veut plus faire de fichier d'aide dans ce format lol merci quand meme

  5. #5
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    J'ai déjà utiliser des fichiers .chm avec BCB. Il faut intégré une .lib dans le projet et utiliser les fonctions.

    Si tu fais un peu de recherche tu devrais trouver. Je ne me rapelle où j'avais pris les renseignements.

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Points : 334
    Points
    334
    Par défaut
    Ou si tu n'as pas le .lib, voila comment ça se code avec GetProcAddress.

    De toute façon il faut quand même récupérer la librairie dont parle Crayon ne serait-ce que pour lire la doc de l'API et avoir le .h

    Ce code est limité dans la mesure ou il ne fait que appeler le fichier d'aide mais en t'inspirant de ça tu peux appeler les autres fonctions : ouvrir une page précise, afficher un conseil,...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    In main class header:
    HMODULE m_hOCX;
     
    #include <htmlhelp.h>
     
    typedef HWND (WINAPI *LPFNHTMLHELP)(HWND, LPCSTR, UINT, DWORD_PTR);
     
    void __fastcall TfrmMain::mnHelpContentClick(TObject *Sender)
    {
      AnsiString sHelpFile = <application_path>+"MyHelpFile.chm";
      LPFNHTMLHELP lpfnHtmlHelp;
     
      if (m_hOCX==NULL)
        m_hOCX = (HMODULE)LoadLibrary(_T("hhctrl.ocx"));   // HtmlHelp ActiveX
      if (m_hOCX) {
        lpfnHtmlHelp = (LPFNHTMLHELP)GetProcAddress(m_hOCX, ATOM_HTMLHELP_API_ANSI);
        if (lpfnHtmlHelp != NULL)
          lpfnHtmlHelp(NULL,
                       sHelpFile.c_str(),
                       HH_DISPLAY_TOPIC,
                       0);
      }
    }
    Et moi non plus je ne sais plus d'ou vient le htmlhelp.h, PSDK (ou HtmlHelp SDK ?).
    m_hOCX est du type HMODULE ou HINSTANCE.

    Note - Il n'y a pas de FreeLibrary a dessein, car l'ActiveX reste bien entendu chargé à la fin du OnClick. On peut d'ailleurs optimiser ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if !GetModuleHandle(_T("hhctrl.ocx"));
    alors LoadLibrary
    GetModuleHandle se contente de récupérer le Handle d'une .dll déja utilisée par une autre application et ne nécessite par conséquent pas de FreeLibrary.

    yarp
    www.senosoft.com

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Merci Crayon et Yarp de vos réponse mais j'ai beau chercher je vois pas qu'elle est cette lib que je dois inclure dans mon projet.

    Yarp j arrive pas a utiliser ton code, ca me renvoie pleins d'erreurs =/ mais merci quand meme

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/03/2014, 04h13
  2. Réponses: 2
    Dernier message: 13/06/2006, 21h47
  3. Réponses: 11
    Dernier message: 04/01/2006, 18h32
  4. Lire et décoder un fichier d'aide CHM
    Par bob2553 dans le forum Outils
    Réponses: 6
    Dernier message: 22/06/2005, 20h21
  5. Réponses: 3
    Dernier message: 09/06/2005, 18h19

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