cs_Grand_steak
Messages postés8Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention23 mars 2004
-
22 mars 2004 à 15:54
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
24 mars 2004 à 12:06
Bonjour à tous,
J'ai fait un petit programme à l'aide de Visual C++ 6 en utilisant les boites de dialogues pré-construites.
Je voudrais inhiber la touche Echap qui a pour action d'arreter le programme.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 23 mars 2004 à 23:24
avec une boîte de dialogue, appuyer sur ECHAP envoi un message WM_COMMAND avec l'Id ID_CANCEL.
il suffit d'intercepter ce message et de ne pas faire EndDialog. Problème, tu ne pourras pas non plus fermer par la croix (ce qui envoi le même message).
En MFC, il faut surcharger OnCancel et ne pas appeler CDialog::OnCancel().
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 24 mars 2004 à 12:06
ca veut dire redéfinir une fonction 'virtual' qui existe dans la classe de base pour en modifier le comportement initial.
(overriden function en MFC).
le fonction OnCancel de la classe CDialog ferme la boîte de dialogue. En redefinissant cette fonction dans une classe dérivée, on peut modifier ce comportement.