bonjour,
je suis récemment passé sous Visual C++ 2005 (j'étais auparavant sous VC++ 6.0) et je rencontre des problèmes pour des opérations de bases.
j'ai créé une boite dialogue toute simple associée à la classe CDialTranslation et ayant un champ de type edit box auquel j'ai associé la variable m_distance (type int). J'apelle cette boite de dialogue avec un évènement sur un item du menu :
Sous VC++ 6 après avoir lancé la fonction DoModal je récupérais le nombre rentré par l'utilisateur dans la variable dial.m_distance, or sous VC++2005 cette variable renvoi 0 dans tous les cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void CAnimationDoc::OnSimpleTranslation() { DialTranslation dial; dial.DoModal(); if( dial.m_distance > 512) AfxMessageBox("vous devez rentrer une distance inférieur à 512 pixels"); }
On m'a conseillé de rajouter un UpdateData(TRUE) dans le OnOK() associé, mais je ne trouve pas l'équivalent du MFC ClassWizard pour rajouter une foction liée à la boite de dialogue?! j'ai donc tapé ce code "à la main" :
et résultat ça ne change strictement rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void CDialTranslation::OnOK() { UpdateData(TRUE); CDialog::OnOK(); }
je rappelle que le précédent code marchait parfaitement sous VC++ 6.0 et donc que je ne débute pas en MFC, mais cette nouvelle version de Visual me fait perdre tous mes repères puisque plus rien ne marche!
besoin d'aide svp
merci!
Partager