2010-02-27 5 views
3

J'ai un wxDialog où j'ouvre un wxFrame. Maintenant, je veux savoir quand wxFrame est fermé, donc je peux faire quelque chose dans l'appelant Dialog [sur le cadre je modifie une liste qui est présente aussi dans le dialogue, et j'ai besoin de mettre à jour cela (avec une fonction fournie par moi) ]Comment savoir quand un wxFrame est fermé?

Des idées? J'utilise C++ avec wxWidgets 2,8-10

Voici le code de la fonction qui appelle le cadre:

OK=false; 
password dialog(this,&OK); //I check the admin password, if it's correct, OK is true 
dialog.ShowModal(); 

if (OK){ 
    GestionFrame* Frame = new GestionFrame(0,listaGlobal); 
    //listaGlobal is a list of names 
Frame->Show(); 
    reload(); //reload the list of names on the dialog, but reload must be called after the frame is closed (and the data is saved) 

Répondre

1

Vous saurez quand le cadre est fermé par la manipulation du wxCloseEvent. Dans le gestionnaire, faites tout ce qu'il faut pour avertir le "Dialog caller" qu'il doit recharger (par exemple en publiant un événement). Par ailleurs, ShowModal ne retournera pas jusqu'à ce que la boîte de dialogue soit fermée et retournera une valeur (définie par,). Ensuite, vous n'auriez pas besoin de jouer avec la référence OK.

+0

Merci, je suppose que ça devait être quelque chose comme vous l'avez dit. En effet, le "OK" façon est totalement inutile, je vais l'éviter. Merci encore! – fern17

Questions connexes