Les MFC

Signaler
Messages postés
10
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
20 décembre 2009
-
Messages postés
3
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 janvier 2010
-
bonjour.
Je travaille sur un projet C++.
je suis débutante en ce qui concerne l'utilisation des MFC.
J'ai écrit un petit programme pour tester et il m'affiche
"WINVER not defined. Defaulting to 0x0600 (Windows Vista)"
j'utilise Microsoft Windows version 5.1
Si vous pouvez m'aidez je serai reconnaissante.

8 réponses

Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Je ne vois pas trop.
C'est une erreur ou un warning ?
Tu utilises quelle version de Visual ?

Essaie de mettre ceci dans le stdafx.h :
#undef WINVER
#define WINVER 0x0501
Messages postés
10
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
20 décembre 2009

merci pour ta reponse
pour plus de precision ce n'est ni un warning ni une erreur ça s'affiche comme ça pendant la compilation et la fenêtre qui doit s'afficher ne s'affiche pas.
en ce qui concerne le "stdafx.h" j'ai essayé de l'inclure au projet mais il le trouve pas.
ou je dois le trouver pour écrire
#undef WINVER
#define WINVER 0x0501
Messages postés
10
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
20 décembre 2009

j'ai ajouté ces deux lignes au début du main
#undef WINVER
#define WINVER 0x0501
#include
#include "CMonApp.h"
#include "CMaFenetre.h"
int main()
{
CMonApp ObjetApplication;
return 0;
}
et les deux fichiers .h contiennent

#ifndef __CMaFenetre__
#define __CMaFenetre__
class CMaFenetre:public CFrameWnd
{
public:
CMaFenetre();
};
#endif
**************************************
#ifndef __CMonApp__
#define __CMonApp__
class CMonApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
#endif
***************************************
#include
#include "CMonApp.h"
#include "CMaFenetre.h"
BOOL CMonApp::InitInstance()
{
m_pMainWnd=new CMaFenetre;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
********************************
#include
#include "CMaFenetre.h"

CMaFenetre::CMaFenetre()
{
Create(NULL,"Un exemple",WS_OVERLAPPEDWINDOW,
CRect(0,0,200,200));
}

c'est tout mon projet.Normalement une petite fenetre s'affiche mais pas dans mon cas.
Est ce que vous pouvez m'aider à résoudre mon problème?
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Que vaut m_nCmdShow ?
es-tu sûre que m_nCmdShow est à TRUE ?
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,
Pour m_nCmdShow voir MSDN pour les valeurs :
SW_HIDE 0
SW_SHOW 1
SW_MAXIMIZED 3
Si cette valeur n'est pas initialisée alors elle a une valeur aléatoire en mode release et en mode debug elle est initialisée à 0 ( donc Hide et on ne la voit pas)

louis14
Messages postés
10
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
20 décembre 2009

je suis désolé mais j'ai pas su comment faire pour voire ces valeurs.
Je suis débutante en c++ et mon projet se base sur ce langage. Je dois faire une interface graphique, on m'a dit qu'il faut utiliser les mfc mais je suis vraiment bloquer. Je sais plus comment procéder ni comment vérifier ces valeurs. Si vous pouvez m'aidez avec des cours une information, j'en serai reconnaissante car j'arrive même pas a afficher une simple fenetre.
Messages postés
10
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
20 décembre 2009

ah j'ai oublié de préciser qu'à l'execution j'ai cette faute : "1>LINK : C:\Documents and Settings\utilisateur\Mes documents\Visual Studio 2008\Projects\monprojet\Debug\monprojet.exe non trouvé ou non généré par la dernière édition de liens incrémentielle ; édition de liens complète en cours
"
Messages postés
3
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 janvier 2010

Ce message est un avertissement comme quoi il n'y a pas de système cible défini. Dans les projets visual studio 6 ou inférieur cette valeur n'était pas utilisé.

Pour ne pas avoir d'avertissement rajoute dans le stdafx.h :

#ifndef WINVER // Autorise l'utilisation des fonctionnalités spécifiques à Windows XP ou version ultérieure.
#define WINVER 0x0501 // Attribuez la valeur appropriée à cet élément pour cibler d'autres versions de Windows.
#endif

Cette variable permet par exemple de cibler des systèmes plus ancien et permet donc lors de la compilation d'afficher des messages d'erreurs si utilisation de fonctionnalités non présente pour le système voir MSDN dans les 'Function Information' le paramètre 'Minimum operating systems'