Intercepter close et minimize

Résolu
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011 - 23 août 2006 à 21:31
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 23 août 2006 à 22:06
comment intercepter la le clique du bouton MINIMIZE De mon Application pour executer ma fonction de decente en systray ?

merci


sinon,

    case IDCANCEL:

       

        msgQuit = MessageBox(MainDlg,"Are you sure to want to quit ?","RegSpy",MB_YESNO|MB_ICONQUESTION);


        if(msgQuit = IDYES)

        {   

        EndDialog(MainDlg,Select);

        PostQuitMessage(0);

        }

       

        return 1;


quelqu'un pourait me faire le else pour ne pas que mon apllication quite merci d'avance.

9 réponses

racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
23 août 2006 à 21:42
Salut;


case WM_SYCOMMAD:

if(wParam==SC_MINIMIZE) 

{

// ......

return 0;

}

if(wParam==SC_CLOSE) 

{


// ......


return 0;


}

//.....
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 août 2006 à 21:44
Ou encore:

case WM_SIZE:
        if(wParam == SIZE_MINIMIZED)
       ...
       break;

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
<!--
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 août 2006 à 21:50
Ah et pour:

if(msgQuit = IDYES)
  {   
          EndDialog(MainDlg,Select);
          PostQuitMessage(0);
   }
else
    ....

Si tu veux que ton application ne quitte pas si tu appuie sur Non, bien ne fais pas de else. Si msgQuit n'est pas égal à IDYES, rien ne sera fait et il retournera à sa tâche courante.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
<!--
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 août 2006 à 21:56
En passent, j'espère que ce n'est qu'une faute dans le post mais

ERREUR ICI
if(msgQuit = IDYES) <- Assignation à msgQuit

La bonne solution
if(msgQuit == IDYES) <- Comparaison de msgQuit

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
<!--
3

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

Posez votre question
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
23 août 2006 à 21:59
    case WM_CLOSE:      
        msgQuit = MessageBox(MainDlg,"Are you sure to want to quit ?","RegSpy",MB_YESNO|MB_ICONQUESTION);

        if(msgQuit = IDYES)
        {   
        EndDialog(MainDlg,Select);
        PostQuitMessage(0);
        }      
        return 0;



Pas besoin du else.
3
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
23 août 2006 à 21:44
case WM_SYSCOMMAND:
0
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
23 août 2006 à 21:50
Pour la fermeture, il est préférable de traiter le message WM_CLOSE.
0
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
23 août 2006 à 22:01
Tu as raison SAKingdom, j'ai copié collé son code sans y faire attention.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 août 2006 à 22:06
Ça va. Je te pardonne ;). D'ailleurs, j'ai répondue la même chose 3 posts plus haut (avec la même erreur :S). Je crois que c'étais ça la cause de son problème avec la fermeture de son application (et pour ça qu'il voulait un else car le if était toujours vrai donc, il quitte même si il clique sur non).

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
0
Rejoignez-nous