Membres inscrits :2359
Membres en ligne : 0 Invités en ligne : 2 |
Comme dans presque tout programme wxwidgets qui se respecte, la plupart du temps, il suffira d'appeler par exemple la méthode Close() de votre wxFrame, pour quitter l'application.
Ici, je vous présente une méthode globale pour quitter votre application, même si vous ne disposez pas de wxFrame dans votre programme ou que vous n'y avez pas accès ou pour d'autres raisons ...
Vous devez avoir un programme composé d'une wxApp qu'habituellement on dérive ...
On va tous simplement ajouter une méthode à notre dérivée de wxApp que l'on va appeler OnQuit par exemple. Cette méthode va nous permettre de quitter la boucle principale en appelant ExitMainLoop() de la classe wxApp. Il va falloir, aussi, lier la méthode OnQuit à un type d'événement. Ici j'ai utilisé Bind, mais peux être que sa fonctionne aussi avec Connect ... Remarquez que j'ai utilisé l'id wxID_EXIT mais libre à vous d'utiliser l'id que vous voulez. Remarquez également que j'ai utilisé le type d'événement wxEVT_COMMAND_MENU_SELECTED qui correspond au clic d'un item dans un menu. Là aussi libre à vous d'utiliser l'événement qui vous convient. Code Cpp:class App : public wxApp Il reste une dernière chose. Il nous faut générer l'événement pour produire l'exécution de OnQuit. Par exemple, dans une classe héritée de la classe wxEvtHandler il vous suiffe d'appeler la méthode QueueEvent. Code Cpp:wxCommandEvent *event = new wxCommandEvent(wxEVT_COMMAND_MENU_SELECTED, wxID_EXIT);
Vous voilà maintenant armés pour quitter vos applications.
En réalité on peut utiliser le même principe d'événement pour exécuter une méthode à partir de presque n'importe quelle emplacement dans le code. Histoire d'être un peu plus général, la création d'un nouveau type d'événement est peut-être plus propre, ce que j'aurai pu faire dans l'exemple ci-dessus.
Il n'y a pas encore de commentaire pour ce snippet. |