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 :

CPropertySheet/Page : Impossible de surcharger ON_CLOSE


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Ao�t 2002
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 3
    Par d�faut CPropertySheet/Page : Impossible de surcharger ON_CLOSE
    Salut,

    J'essaye de prendre la main lors l'user clique sur 'close' en utilisant une feuille de propri�t� et je n'arrive pas. Ni en gerant le 'close' dans les pages, ni dans la feuille.

    J'ai essay� sur une b�te dialogue, l� pas de probl�me.

    Merci pour toute infos.

  2. #2
    Membre � l'essai
    Inscrit en
    Mars 2002
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 6
    Par d�faut
    Qu'es ce que tu veux faire exactement ??

  3. #3
    Futur Membre du Club
    Inscrit en
    Ao�t 2002
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 3
    Par d�faut
    Je veux lorsque l'user clique sur 'close' lui poser la question :
    - on sauve et on sort
    - on sauve pas et on sort
    - on sort pas

  4. #4
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    29
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par d�faut
    Je crois que tu peux pas utiliser On_close avec les cpropertysheet car tu as cr�e des pages modal (cr�e avec DoModal)
    alors soit t'essaie de cr�er ta propertysheet avec Create (moi j'y suis pas arriv�) soit tu cache les boutons cr�es automatiquement et tu cr�e tes propres boutons que tu pourra surcharger comme tu veux (c'est ce que j'ai fais...)

  5. #5
    Futur Membre du Club
    Inscrit en
    Ao�t 2002
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 3
    Par d�faut
    Oui, mais ce que je veux c'est surcharger le 'close' du dialogue (la croix)

  6. #6
    Membre �clair�

    Inscrit en
    Juin 2002
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Par d�faut
    UP..

    Voil�, je suis confront� au m�me probl�me, � savoir que je souhaiterais surcharger la m�thode qui est ratach�e l'�v�nement "appui sur la croix en haut � droite" d'une CPropertySheet

    M�me en surchargeant les m�thodes DestroyWindow et celle rattach�e � WM_CLOSE et WM_DESTROY, la fen�tre se ferme ce qui fait qu'il est par exemple impossible d'annuler le fait de quitter...

    Si quelqu'un a des exemples de codes pour �a, je suis preneur, d'autant que je n'ai tjs pas trouv� ni sur codeproject, ni sur code guru..

  7. #7
    tut
    tut est d�connect�
    Membre �clair�
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Par d�faut
    J'ai �t� confront� au m�me probl�me et :trouve: .
    La classe de base de mon appli h�rite de CPropertySheet. J'ai simplement surcharg� DestroyWindow :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
     
    BOOL MonAppli::DestroyWindow() 
    {
           // ton code
           return CPropertySheet::DestroyWindow();
    }
    et voila, on passe par l� quand l'utilisateur clique sur la petite croix en haut � droite.

  8. #8
    Membre confirm�
    Inscrit en
    Novembre 2002
    Messages
    35
    D�tails du profil
    Informations personnelles :
    �ge : 51

    Informations forums :
    Inscription : Novembre 2002
    Messages : 35
    Par d�faut
    Effectivement c'une fonctionnalit� peu connu introduit dans MFC 4.0.
    Cela s'appelle Message reflection ...
    !!!
    Attention, le parent recoie l'event avt, il faut donc le trait� pour qu'il ne fasse rien et le faire suivre. Si tu ne traites pas le ON_CLOSE. l'appli se fermera sans rien faire
    !!!
    J'espere que c clair ...

    Exemple avec le double clik :
    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
     
    class CMyListBox : public ClistBox
    {
    protected:
       afx_msg void OnDoubleClick ();
       DECLARE_MESSAGE_MAP ()
    };
     
    BEGIN_MESSAGE_MAP (CMyListBox, ClistBox)
       ON_CONTROL_REFLECT (LBN_DBLCLK, OnDoubleClick)
    END_MESSAGE_MAP
     
    void CMyListBox::OnDoubleClick ()
    {
       CString string;
       int nIndex = GetCurSel ();
       GetText (nIndex, string);
       MessageBox(string);
    }

  9. #9
    Membre �clair�

    Inscrit en
    Juin 2002
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Par d�faut
    Bon j'ai enfin trouv� une solution (si un mod�rateur pouvait mettre le tag r�solu) :

    On peut surcharger OnClsoe etc.. mais d�s lors que l'utilisateur clique sur la croix, le processus est engag� et on ne peut revenir en arri�re quelques soient les manips qu'on fait, l'appli se ferme.

    Il faut donc surcharger
    void CMyPropertySheet::OnSysCommand(UINT nID, LPARAM lParam)
    et intercepter le code nID de la fermeture avec la croix. C'est un peu bourrin, mais �a fonctionne.
    Exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void CSheet::OnSysCommand(UINT nID, LPARAM lParam) 
    {
     
     
    if ( nID == CODE_CROIX )
    	OnQuit();
    else
    	CPropertySheet ::OnSysCommand(nID, lParam);
    }

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [SP-2010] Creation de page impossible
    Par mvr20 dans le forum SharePoint
    R�ponses: 1
    Dernier message: 24/01/2011, 15h01
  2. Listage des liens d'une page impossible!
    Par randriano dans le forum Delphi
    R�ponses: 6
    Dernier message: 08/05/2007, 13h39
  3. ouverture de pages impossible sous firefox
    Par decksroy dans le forum Windows Vista
    R�ponses: 5
    Dernier message: 05/03/2007, 10h24
  4. [VBA-E] activation d'une page impossible
    Par corwin44 dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 07/07/2006, 16h25
  5. Acc�s direct � la page impossible (membres seulement)
    Par FrankOVD dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 27/02/2006, 20h18

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