Bonjours a tous,
J'ai un souci sur certain pc portable uniquement ...
sous un bouton j'affiche une fenetre ainsi :
j'instancie ma CDialog dans mon constructeur de cette facon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ( m_pCourbeFrime->DoModal() == IDOK )
Sur la plupart des machines ce code fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part m_pCourbeFrime = new CSaisieNouvelleCourbe( "Frime", "Bearing travel (mm)", "Load (N)" );
Par contre sur 2 pc portable la fonction DoModal me renvoi -1 (erreur de creation)
j'ai voulu remplacer ce DoModal par ce que j'ai trouvé dans la FAQ, c'est a dire :
Ma fenetre s'affiche (je n'ai pas tester sur les portable en question pour le moment)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 m_pCourbeFrime->Create(CSaisieNouvelleCourbe ::IDD,this); m_pCourbeFrime->ShowWindow(SW_SHOW);
Mais je ne sais pas comment intercepter les click sur Ok ou Cancel de cette boite de dialog hors de la classe de ma CDialog.
Je precise que j'instancie cette classe plusieurs fois dans le programe avec differrente données donc utiliser les OnOk() et OnCancel() de la CDialog est exclu.
Pour resumer comment puis je remplacer cette ligne de code :
Ou mieux encore ^^ comment faire fonctionner le code d'origine sur mes pc à problème !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ( m_pCourbeFrime->DoModal() == IDOK ) { //....... }
N'hesitez pas a me demander plus d'explication, je n'ai pas voulu ecrire 300 lignes sur ce pb ^^
Merci d'avance !
Partager