bonjour à tous,
je voudrais utiliser des classes de la MFC dans mon appli win32. Est-ce possible? Si oui comment?
merci.
bonjour à tous,
je voudrais utiliser des classes de la MFC dans mon appli win32. Est-ce possible? Si oui comment?
merci.
salut,
ça depend ,quelles classes ?
![]()
les classiques: CFile et CString.
Yeeees, enfin tu es de retour, je n'y croyais plus... :D
bien alors ça ne cause pas de pb ,
il faut juste iniatiliser les MFC en debut de programme .
et linker avec les MFC .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // initialize MFC and print and error on failure if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // erreur }
![]()
euh...Envoyé par farscape
comment on fait?
bon, en fait, je vais expliquer ma situation car il y a quelque chose qui me semble étrange:
j'ai créé un projet win32 sans console, conformément à cette FAQ Ensuite, j'ai spécifié, dans options du projet, "utiliser les MFC comme lib partagée". Mais il ne connait pas 'AfxWinInit' ni 'CFile'... qu'ai-je oublié?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include <afx.h> #include <afxwin.h> // MFC core and standard components #include <afxext.h> // MFC extensions #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT
de rajouter ces headers:
dans ton stdafx.h si tu utilises les entetes precompilés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #include <afx.h> #include <afxwin.h> // MFC core and standard components
![]()
ouilleouilleouille!! J'ai réussi à lancer mon programme en debug, mais maintenant, en release, il m'insulte ainsi:
nafxcw.lib(thrdcore.obj) : error LNK2019: symbole externe non résolu __endthreadex référencé dans la fonction "void __stdcall AfxEndThread(unsigned int,int)" (?AfxEndThread@@YGXIH@Z)
j'avoue que ça me dépasse oO!
en tout cas,![]()
il faut lier ces deux librairies, dans les settings du projet en releaseEnvoyé par msdn
Pour tenter de comprendre cette erreur de link, j'ai essayé de faire un truc (j'utilise visualC++ 7.1):
1/ j'ai créé un projet win32, sans console.
2/ j'ai inclus le fichier "mmsystem.h"
3/ j'ai mis en commentaire toute la fonction InitIntance car "Je ne veux pas qu'une fenêtre apparaisse" (voir code ci-après)
4/ j'ai ajouté la ligne sndPlaySound(...).
Le but, pour l'instant, est d'avoir un prog qui joue un son mais qui n'affiche aucune fenêtre.
et j'obtiens encore une erreur de lien:
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 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { //HWND hWnd; //hInst = hInstance; // Stocke le handle d'instance dans la variable globale //hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, // CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); //if (!hWnd) //{ // return FALSE; //} //ShowWindow(hWnd, nCmdShow); //UpdateWindow(hWnd); sndPlaySound("C:\\WINNT\\Media\\notify.wav",SND_SYNC); return TRUE; }
testSound1.obj : error LNK2019: symbole externe non résolu __imp__sndPlaySoundA@8 référencé dans la fonction "int __cdecl InitInstance(struct HINSTANCE__ *,int)" (?InitInstance@@YAHPAUHINSTANCE__@@H@Z)
je n'y comprends rien à ces erreurs de lien![]()
rajoute : Winmm.lib au link ....
![]()
j'y arrive pasEnvoyé par nico-pyright(c)
![]()
j'ai essayé d'aller dans projet/propriétés/editeur de liens/dépendances supplémentaires, et là, j'ai ajouté ces deux lib, mais alors là, j'ai 50 messages d'erreur!!
heeelp!!
comment on fait?Envoyé par farscape
Code : Sélectionner tout - Visualiser dans une fenêtre à part #pragma comment(lib,"Winmm.lib")
ça marche
![]()
![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager