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
Version imprimable
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
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
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.Citation:
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.
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?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)".Citation:
Envoyé par farscape
Merci!
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éCitation:
Envoyé par farscape
include "monprojetdlg.h"
Puis, les lignes suivantes tout à la fin:
Merci d'avanceCode:
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; }
pense a mettre la balise de code, Merci 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! ;)!!!Citation:
Envoyé par farscape
A plus!