2010-02-27 4 views
3

У меня есть wxDialog, где я открываю wxFrame. Теперь я хочу знать, когда wxFrame закрыт, поэтому я могу что-то сделать в вызывающем диалоге [в кадре я изменяю список, который присутствует в диалоговом окне, и мне нужно его обновить (с помощью функции, предоставленной мной) ].Как узнать, когда wxFrame закрыт?

Любые идеи? Я использую C++ с WxWidgets 2.8-10

Вот код функции, которые называют кадр:

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) 

ответ

1

Вы будете знать, когда кадр закрывается путем обработки wxCloseEvent. В обработчике сделайте все, чтобы уведомить «Dialog caller», который он должен перезагрузить (например, отправив событие).

BTW, ShowModal не вернется, пока диалог не будет отклонен, и он вернет значение (установленное EndModal). Тогда вам не нужно будет связываться с ссылкой OK.

+0

Спасибо, я думаю, это должно было быть чем-то вроде того, что ты сказал. Действительно, путь «ОК» совершенно ненужный, я избегу его. Еще раз спасибо! – fern17

Смежные вопросы