[Visual C++/MFC] Femeture boite de dialogue

Femeture boite de dialogue [Visual C++/MFC] - C++ - Programmation

Marsh Posté le 26-07-2005 à 17:36:24    

Bonjour,
J'ai une application MFC basée sur une boite dialogue et lorsque je tape la touche "Entrée" sur le clavier mon application se ferme.
Comment le désactiver?
 
Merci


---------------
>>>>>> WebFotos <<<<<<
Reply

Marsh Posté le 26-07-2005 à 17:36:24   

Reply

Marsh Posté le 27-07-2005 à 15:52:33    

T'as entendu parler du "bouton par défaut"?

Reply

Marsh Posté le 05-01-2006 à 18:09:46    

Bonjour j'ai le même souci.
J'ai une application qui tourne en ne faisant apparaître qu'une boite de dialogue et la touche "entrée" du clavier ferme cette boite de dialogue. Le problème c'est qu'alors mon application ne se termine pas alors que je n'ai visuellement plus rien de mon application à l'écran.
 
J'ai redéfini la méthode OnClose de ma boite de dialogue afin qu'elle termine l'application en même temps. Par contre la touche "entrée"  du clavier ferme a boite de dialogue (par défaut je n'ai nullement codé "à l'insu de mon plein gré" cette fonctionnalité).
 
Avez-vous une solution explicative (la phrase de slash33 n'apporte pas vraiment de solution constructive), merci.

Reply

Marsh Posté le 05-01-2006 à 18:20:49    

LordPeterPan a écrit :

Bonjour j'ai le même souci.
J'ai une application qui tourne en ne faisant apparaître qu'une boite de dialogue et la touche "entrée" du clavier ferme cette boite de dialogue. Le problème c'est qu'alors mon application ne se termine pas alors que je n'ai visuellement plus rien de mon application à l'écran.
 
J'ai redéfini la méthode OnClose de ma boite de dialogue afin qu'elle termine l'application en même temps. Par contre la touche "entrée"  du clavier ferme a boite de dialogue (par défaut je n'ai nullement codé "à l'insu de mon plein gré" cette fonctionnalité).
 
Avez-vous une solution explicative (la phrase de slash33 n'apporte pas vraiment de solution constructive), merci.


 
La réponse est ici :
http://c.developpez.com/faq/vc/?pa [...] scapeEnter


---------------
>>>>>> WebFotos <<<<<<
Reply

Marsh Posté le 05-01-2006 à 18:38:48    

Merci beaucoup ;)

Reply

Marsh Posté le 08-01-2006 à 10:59:50    

Tu peux aussi surcharger la virtuelle

Code :
  1. virtual void OnOK()

de cette façon
 

Code :
  1. CMyDialog::OnOK()
  2. {
  3.   // Ne pas appeler CDialog::OnOK pour ne pas fermer le dialogue
  4.   // CDialog::OnOK();
  5. }


 
Concernant ma remarque sur le "bouton par défaut". Ca veut seulement dire que si tu retires le style BS_DEFAULT (bouton par défaut) du bouton IDOK de ton dialogue, l'appui sur la touche entrée ne fermera plus ton dialogue (en supposant que le bouton par défaut de ton dialogue soit IDOK). Utilises l'éditeur de ressources pour modifier le style du bouton.


Message édité par slash33 le 08-01-2006 à 11:05:14
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed