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

MFC Discussion :

Quelle bibliothèque pour ces classes?


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 46
    Par défaut Quelle bibliothèque pour ces classes?
    Bonjour à tous,
    j'aimerais savoir dans quelles bibliothèques se trouvent les classes CDialog et CWnd?
    Veuillez m'excuser si ce n'est pas l'endroit où on parle de biblio.

    A plus!
    Noël

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 394
    Par défaut
    Dans la bibliothèque MFC (Microsoft Foundation Classes).
    La bibliothèque dynamique correspondant est MFC42.dll (ou MFC42u.dll) jusqu'à MFC 6.0, puis les versions suivantes sont MFC70[u].dll, MFC71[u].dll, MFC80[u].dll
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    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
    Je souhaite donner le focus à la première liste de ma fenêtre. Alors, j'écris
    CWnd *pWnd=GetDlgItem(IDC_LSTMOIS);, et j'obtiens le message:
    error C2660: 'GetDlgItem' : function does not take 1 parameters.
    Vous décrivez dans la FAQ: CWnd *pWnd=GetDlgItem(IDC_MYEDIT);.
    Pouvez-vous me dire svp, dans quelle biblio on trouve cette fameuse classe CWnd qui contient des fonctions aussi importantes.
    si tu as cette erreur c'est que l'emplacement où tu fais l'appel ne fait pas parti d'une classe héritée de CWnd.
    et comme on retrouve les mêmes noms entre l'api 32 et les fonctions de la classe CWnd, le GetDlgItem en question correspond a l'api32 ce qui provoque l'erreur sur le nombre d'argument à la compilation.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 46
    Par défaut
    Citation Envoyé par farscape
    si tu as cette erreur c'est que l'emplacement où tu fais l'appel ne fait pas parti d'une classe héritée de CWnd.
    et comme on retrouve les mêmes noms entre l'api 32 et les fonctions de la classe CWnd, le GetDlgItem en question correspond a l'api32 ce qui provoque l'erreur sur le nombre d'argument à la compilation.
    Oui, je comprends l'explication, mais cette classe CWnd ne se trouve ni dans MonProjet.h, ni dans MonProjetDlg.h. On vient de me répondre sur le forum que la biblio est mfc, ce qui signifie qu'il n'y a pas de "include" à ajouter! Je me trompe?

  5. #5
    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
    la question est : c'est quoi ton projet ?
    un projet MFC: SDI ,MDI,boite de dialogue ?
    Win32 ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 46
    Par défaut
    Citation Envoyé par farscape
    la question est : c'est quoi ton projet ?
    un projet MFC: SDI ,MDI,boite de dialogue ?
    Win32 ?
    C'est un projet que je traite de Boîte de Dialogue. Je l'ai créé par: File/New..., puis "MFC AppWizard (exe)".
    Merci!

  7. #7
    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
    ta classe qui devrais se nommer CMonProjetDlg hérite de la classe CWnd.
    Toutes les fenêtres MFC héritent de la classe CWnd.
    c'est la classe de base pour la manipulation des fenêtres...
    alors si tu ne postes pas un peu de ligne de code pour comprendre le contexte d'appel de ces fonctions ça sera difficile de t'aider.
    la seule chose que je peux dire c'est que ton appel n'est pas fait dans une fonction membre de ta classe dialogue.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 46
    Par défaut
    Citation Envoyé par farscape
    ta classe qui devrais se nommer CMonProjetDlg hérite de la classe CWnd.
    Toutes les fenêtres MFC héritent de la classe CWnd.
    c'est la classe de base pour la manipulation des fenêtres...
    alors si tu ne postes pas un peu de ligne de code pour comprendre le contexte d'appel de ces fonctions ça sera difficile de t'aider.
    la seule chose que je peux dire c'est que ton appel n'est pas fait dans une fonction membre de ta classe dialogue.
    Dans le fichier monprojet.cpp (non pas dans monprojetdlg.cpp), j'ai ajouté
    include "monprojetdlg.h"
    Puis, les lignes suivantes tout à la fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int main()
    {
        CWnd* SetFocus();
        CWnd *pWnd=GetDlgItem(IDC_LSTDATES);
    // Est-ce que je devrais écrire:
        CWnd *pWnd=CMonProjetDlg::GetDlgItem(IDC_LSTDATES);
    // Puis:
    if(pWnd) pWnd->SetFocus();
        return 0;
    }
    Merci d'avance
    pense a mettre la balise de code, Merci Farscape

  9. #9
    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
    arf ,
    ce n'est pas étonnant ,tu as lu mes réponses ?
    tu trouves que le main est une fonction dérivée de CWnd ?
    une application MFC n'a pas de main.
    la classe qui lance l'application est la classe d'application héritée de CWinApp.
    le démarrage de l'application se fait dans la fonction membre InitInstance.
    je pense que tu devrais lire mon tuto sur les MFC

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 46
    Par défaut
    Citation Envoyé par farscape
    arf ,
    ce n'est pas étonnant ,tu as lu mes réponses ?
    tu trouves que le main est une fonction dérivée de CWnd ?
    une application MFC n'a pas de main.
    la classe qui lance l'application est la classe d'application héritée de CWinApp.
    le démarrage de l'application se fait dans la fonction membre InitInstance.
    je pense que tu devrais lire mon tuto sur les MFC
    Oh oui c'est vrai, d'autant plus que les messages des deux premiers boutons de l'application (IDOK et IDCANCEL) sont réceptionnés dans InitInstance. Mais un tutoriel ne me ferait que du bien! J'y vais, merci! !!!
    A plus!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle bibliothèque pour une interface graphique C++
    Par peace_info dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 16/03/2007, 14h42
  2. Quelle bibliothèque pour gérer des contours actifs ?
    Par khayyam90 dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 06/12/2006, 13h58
  3. [VB6] Quelle bibliothèque pour Keypress??
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 02/06/2006, 12h04
  4. [C#][OpenGL] Quelle bibliothèque pour utiliser OpenGL en C#
    Par glKabuto dans le forum Windows Forms
    Réponses: 6
    Dernier message: 23/05/2006, 13h56
  5. Quelle Bibliothèque pour une IA d'un RTS ?
    Par methos69 dans le forum Bibliothèques
    Réponses: 9
    Dernier message: 11/02/2005, 10h28

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