Bonjour a tous,
Je me permet de poster mon code car je me retrouve un peu perdu dans ce que je voulais faire.
J'ai monté une interface et je commence a ajouter des fonctionnalités à chaque boutons
Jusque la, tout va bien, chaque bouton pressé m'affiche une wxMessageBox avec un message que j'attends a l'intérieur
Par contre, voila mon souci, je voudrais récupérer des éléments de mon menu, et la je n'y arrive pas
Voici comment mon programme est construit
Mes 2 classes :
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
20
21
22 class F_Frame: public wxFrame { public: F_Menu *Menu; public: F_Frame(wxWindow *parent, const wxString &title); ~F_Frame(); DECLARE_EVENT_TABLE() }; class F_Menu:public wxMenuBar { public: F_Menu(wxFrame *wxF, F_LibTexte LibS); ~F_Menu(); void ClicCreer(wxCommandEvent& WXUNUSED(event)); };
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
20
21
22
23
24
25
26 //Constructeur F_Frame::F_Frame(wxWindow *parent, const wxString& title): wxFrame(parent, -1, title) { //Création du menu F_LibTexte LibStrings; Menu = new F_Menu(this, LibStrings); //On charge le menu de l'interface avec les noms precedents } //Constructeur F_Menu::F_Menu(wxFrame *wxF, F_LibTexte LibS) { //Creation d'un menu auquel on ajoute des elements wxMenu *menuFichier = new wxMenu; menuFichier->Append(wxID_EXIT, LibS.Menu.Menu_fichier.SQuitter, LibS.HMenu.Menu_fichier.SQuitter); // On attache les menus a une barre de menu... this->Append(menuFichier, LibS.Menu.SFichier); // ... que l'on attache a la frame wxF->SetMenuBar(this); }
Un wxMenuBar appelé Menu est instancié dans le constructeur de ma frame
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 BEGIN_EVENT_TABLE(FR2_Frame, wxFrame) EVT_MENU(FR2_ID_CREER, FR2_Menu::ClicCreer) END_EVENT_TABLE()
quand je clique sur le bouton créer, j'arrive dans la bonne fonction ClicCreer, cependant, je n'arrive pas a récupérer des éléments comme le nombre de menu ou des choses du type
Voici ce que j'utilisais :
Pour 4 menus, ce chiffre affiche n'importe quoi genre 4879875112
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 wxMessageBox(wxString::Format(wxT("Valeur GetValue: %d\n"),this->GetMenuCount()));
Est ce que vous auriez une piste ? Je peux aussi donner des compléments
En fait pour le moment je suis assez perdu
Merci d'avance pour votre aide !
Partager