IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Intercepter la fermeture d'une l'application à partir du bouton X de la fenêtre


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 10
    Points
    10
    Par défaut Intercepter la fermeture d'une l'application à partir du bouton X de la fenêtre
    Voilà, j'ai une application codé sur Visual C++ 2005 basé sur la classe CFormView. Elle comporte un icône dans la barre de tâche ( en bas à droite dans windows ). Je veux que lorsqu'on clique sur le X de la fenêtre pour fermer l'application que cette derniere soit envoyé dans la barre de tâche plutôt que fermer. Je sais déjà comment faire lorsqu'on passe par le menu Fichier->Quitter, cette portion fonctionne via ON_COMMAND(ID_APP_EXIT, &NomDeLaFenetreView) . Je veux juste savoir où intercepter la fermeture à partir du bouton X de la fenêtre ?

    Merci D'avance!

  2. #2
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051

  3. #3
    Membre confirmé Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Points : 521
    Points
    521
    Par défaut
    L'évènement correspondant a la fermeture d'une fenetre est OnClose() :

    ON_WM_CLOSE() --> a mettre dans la "message map"

    afx_msg void OnClose(); --> a mettre dans le header de la classe

    void CFenetre::OnClose() --> a mettre dans le source de la classe (CFenetre a adapter)
    {
    }

    La fonction par défaut des MFC, controle si les documents peuvent etre fermés et lance une commande ID_APP_EXIT.

    @+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 37
    Points : 25
    Points
    25
    Par défaut
    Je travaille sur un sujet semblable et j'ai donc essayé d'intercepter le ID_APP_EXIT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    BOOL CMainFrame::OnCommand(WPARAM wParam, LPARAM lParam) 
    {
    	// TODO: Add your specialized code here and/or call the base class
    	TRY
    	{	
    		if(wParam== (ID_APP_EXIT)
    		{
    			//mes fonctions
                    }
    	}
    	 CATCH (CException, e)
    	{
    		return CMDIFrameWnd::OnCommand(wParam, lParam);
    	}
    	END_CATCH
     
    	return CMDIFrameWnd::OnCommand(wParam, lParam);
    }
    Mais en fesant ca, le signal est détecté à chaque fois que je fais un clic. Ouverture, fermeture, fonction perso, autant dans un menu que dans la toolbar. Je sais pas pourquoi.....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intercepter la fermeture d'une vue
    Par nako dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 09/10/2007, 17h07
  2. intercepter la fermeture d'une vue
    Par gargantua dans le forum Eclipse Platform
    Réponses: 21
    Dernier message: 01/08/2007, 09h55
  3. Réponses: 6
    Dernier message: 20/12/2006, 19h22
  4. [MFC] Intercepter la fermeture d'une CPropertySheet
    Par Philippe320 dans le forum MFC
    Réponses: 10
    Dernier message: 29/09/2006, 09h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo