wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 9

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Cacher le frame à partie du button Close.
Conversation (Résolue) : Cacher le frame à partie du button Close.
06-02-2012 12:27:46  Cacher le frame à partie du button Close. #1
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,

J'utilise wxSmith du Code blocks pour créer une application 'HideFrame' et j'ai ajouter Hide(); comme ceci:

Code wxWidgets:

 
HideFrameFrame::~HideFrameFrame()
{
    //(*Destroy(HideFrameFrame)
    //*)
    Hide(); //ou Show(false);
}
 


Après Build and Run, l’application se ferme quand on clic sur le bouton close au lieu de se cacher.  Où est donc le problème?

Dernière modification par ajm (06-02-2012 12:29:59)

06-02-2012 15:54:20  Re: Cacher le frame à partie du button Close. #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1387
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Le problème vient du fait que tu as mis le Hide dans le destructeur de la fenêtre.
Donc, au moment où tu caches ta fenêtre, le processus de destruction est déjà engagé.

Pour cacher la fenêtre au lieu de la détruire quand on clique sur le bouton de fermeture, il faut intercepter l'événement "OnClose".
Il faut également permettre à l'application de se fermer si c'est le système qui en demande la fermeture.

Code wxWidgets:

BEGIN_EVENT_TABLE(HideFrameFrame, wxFrame)
    ........
    EVT_CLOSE(HideFrameFrame::OnClose)
END_EVENT_TABLE()
 
void HideFrameFrame::OnClose(wxCloseEvent &event)
{
    if (!event.CanVeto())
        Destroy();
    else
        Hide();
}
 


@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
07-02-2012 06:51:21  Re: Cacher le frame à partie du button Close. #3
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne
Salut,

Ça marche, merci!
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Cacher le frame à partie du button Close.