Pb de fenetres MFC

Kheo Messages postés 21 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 10 décembre 2007 - 2 avril 2003 à 10:46
Kheo Messages postés 21 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 10 décembre 2007 - 4 avril 2003 à 08:26
Voilà tjs quelques pb avec mon apprentissage des MFC. Bon je commence a pas mal gerer tout ca mais ca va faire presque 5 jours que je planche sur le meme problème sans en trouver la solution. Lorsqu'on créé des fenetres MFC du type DIALOG BOX dès lors que l'on appui sur ENTREE ou ECHAP, alors la fenetre se barre comme si on avait appuyé sur les bouton. J'ai désactivé les btn par defaut mais tjs pareil. Faut il intercepter les WM_NOTIFY sur NM_RETURN ??
Comment faire pour resoudre ce petit soucix ?

En vous remerciant d'avance.

/ Kheo /

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 avril 2003 à 10:59
Ne laisse pas suivre OnOK() et/ou OnCancel()
BruNews, ciao...
0
Kheo Messages postés 21 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 10 décembre 2007
2 avril 2003 à 11:47
Comment fais tu pour empecher ca ? je crée des fonctions OnOK et OnCancel avec des corps vides ?

Merci je vais creuser la question

/ Kheo /
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 avril 2003 à 11:57
fdans ton .h section private
void OnOK() {};
BruNews, ciao...
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
2 avril 2003 à 12:04
OnOK() et OnCancel() sont deux méthodes de la classe CDialog définies comme méthodes virtuelles donc surchargeables.

Si tu crées ajoutes donc ces deux méthodes avec un corps vide dans ta classe dérivée de CDialog en respectant les prototypes "void OnOK()" et "void OnCancel()" tu pourras définir ton propore comportement.

Kaid - kaid.fr.st
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kheo Messages postés 21 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 10 décembre 2007
3 avril 2003 à 12:45
Ok c super, ca marche, mais trop bien parce que du coup la pitite croix dans la barre de titre n'a plus aucun effet. Peut on detourner la fonction qu'elle est censée lancer ?

/ Kheo /
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
3 avril 2003 à 14:23
Oui, tu peux appeler la méthode de base:

void MaDialog::OnOK()
{
// Action par défaut
CDialog::OnOK();
}

Kaid - kaid.fr.st
0
Kheo Messages postés 21 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 10 décembre 2007
4 avril 2003 à 08:26
Oui mais mon problème reste le même, cad que si je met un corps dans
void MaDialog::OnCancel()
le corps est valable pour la touche echap et pour le btn de fermeture dans la barre de titre.
Comment dissocier les deux, faire fonctionner le btn de la barre de titre et pas ECHAP ?

/ Kheo /
0
Rejoignez-nous