none
Fichier de ressources RRS feed

  • Question

  • Bonjour ! ma 1ere question sur le Forum !

    J'ai miggré une application MFC de VC++6 vers VS2005 et j'ai un problème avec mon fichier de ressources qui affiche "Echec de chargement" quand on veut l'ouvrir avec l'Editeur de ressources. 

    Pourtant je peux l'éditer en manuel (afficher le code), mon fichier.rc se compile tout seul avec 0 erreur, et l'applicatif est généré également sans erreur et fonctionne avec ses menus, barre d'outils et icônes.

    Dans la documentation MSDN et nul part ailleurs je n'arrive à trouver une Spec complète et détaillée sur la syntaxe des fichiers.RC.

    Dans le code du fichier.RC, j'ai par exemple les lignes suivantes : 

    #if defined(APSTUDIO_INVOKED) || defined(_ENGLISH)
    #if defined(APSTUDIO_INVOKED)
    IDR_CASETOOLBAR_FOR_PROG$(_ENGLISH) BITMAP  DISCARDABLE     "res\\CaseToolbarEnglish.bmp"
    #else
    IDR_CASETOOLBAR_FOR_PROG BITMAP  DISCARDABLE     "res\\CaseToolbarEnglish.bmp"
    #endif
    #endif

    /////////////////////////////////////////////////////////////////////////////
    //
    // Toolbar
    //

    #if defined(APSTUDIO_INVOKED) || defined(_ENGLISH)
    #if defined(APSTUDIO_INVOKED)
    IDR_CASETOOLBAR_FOR_PROG$(_ENGLISH) TOOLBAR DISCARDABLE  16, 15
    #else
    IDR_CASETOOLBAR_FOR_PROG TOOLBAR DISCARDABLE  16, 15
    #endif
    BEGIN
        BUTTON      ID_CASE_COMMENT

    . . . 

      BUTTON      ID_DEBUG_WATCH
    END
    #endif

    Questions : 

    - Le type d'élément TOOLBAR n'est pas listé ou expliqué dans la Doc MSDN. Existe t'il une doc quelque part ?.

    - Quel est le rôle du caractère $ entre IDR_CASETOOLBAR_FOR_PROG et (_ENGLISH) ?
    - Le type d'élément TOOLBAR n'est pas listé ou expliqué dans la Doc MSDN.

    - Pourquoi VS200 ne peut ouvrir le fichier de ressources alors que sa compilation et sa modification manuelle fonctionne ?

    - Les 2 premières lignes #if defined me paraissent aussi bizarres !.

    Merci d'avance si quelqu'un a un piste 

    lundi 2 février 2015 15:15

Réponses

  • Bonjour Urbeisien,
    Voici la documentation MSDN pour MFC Toolbar et #define Directive  mais disponible seulement en anglais. Il est possible de ne pas avoir la possibilité d'ouvrir le fichier de ressources par Visual Studio si votre fichier Resource.h est ouvert aussi.

    Cordialement,

    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    mardi 3 février 2015 12:27
    Modérateur

Toutes les réponses

  • Bonjour Urbeisien,
    Voici la documentation MSDN pour MFC Toolbar et #define Directive  mais disponible seulement en anglais. Il est possible de ne pas avoir la possibilité d'ouvrir le fichier de ressources par Visual Studio si votre fichier Resource.h est ouvert aussi.

    Cordialement,

    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    mardi 3 février 2015 12:27
    Modérateur
  • Bonjour Nina,

    merci pour votre réponse et pour le lien pour TOLLBAR.

    Oui effectivement j'avais remarqué que si le fichier.rc est ouvert dans un autre éditeur y compris celui de VS2005, on ne peut pas l'ouvrir avec l'Editeur de ressources. Ma question était différente : en fait mon fichier de ressources ne peut être ouvert avec l'éditeur de ressources de VS2005 bien qu'il ne soit ouvert dans aucun autre éditeur  !. ...

    Par ailleurs je ne trouve aucune information sur MSDN , même dans la doc TOOLBAR, concernant l'utilité ou la signification du caractère $ dans la ligne suivante : 

    IDR_CASETOOLBAR_FOR_PROG$(_ENGLISH) BITMAP  DISCARDABLE     "res\\CaseToolbarEnglish.bmp"

    Encore merci et bonne journée.

    Urbeisien


    vendredi 13 février 2015 16:52