Bonjour à tous,

Pour mettre les choses au clair... je ne suis ni un pro C++, ni un pro wxWidgets !!!
Mais n'arrivant pas à mettre la main sur la solution à mon problème aussi bien dans la doc que sur le net... je tente ma chance sur ce forum

Mon environnement :
Windows 10
CodeLite 14
wxWidgets 3.1.4
MinGW-W64 8.1.0

Mon problème tout simple... une fenêtre avec un radiobox et 2 boutons.
Le RadioBox donne une liste de choix.
L'un des boutons exécute, via un event wxEVT_BUTTON (suite à un bind), une action dont le déroulement dépendra de ce qui aura été sélecté via le RadioBox.
L'autre bouton sort de l'appli.

Quand je clique sur les boutons... j'exécute bien le code de l'Event mais je n'arrive pas à la lire la valeur de la RadioBox via :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::string focuser = FocuserBox->GetStringSelection();
ou bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::string focuser = FocuserBox.GetStringSelection();
La compilation me donne l’erreur :
FocuserBox was not declare in this scope
Quelqu'un pourrait-il se pencher sur mon cas désespéré

Cordialement,

Philippe

Ma déclaration de classes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
#include<wx/wx.h>
class MyFrame: public wxFrame
{
public:
	MyFrame(std::string var);
	void OnQuit(wxCommandEvent& event);
        void OnProcess(wxCommandEvent& event);
};
Mes events (pour l'instant, ce ne sont que des tests...) :

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
27
28
29
30
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) 
{
        // Bouton fermeture
	this->Close(true);
}
 
void MyFrame::OnProcess(wxCommandEvent& evt) //WXUNUSED(event))
{
        // Code des process sauvegarde et restauration
        std::string focuser = FocuserBox->GetStringSelection();
	int controlId = evt.GetId();
	std::string str = "";
	switch (controlId) 
	{
		case -31998: 
			str = "RodioBox Action";
			break;
		case -31994: 
			str = "RadioBox Focuser";
			break;
		case -31988: 
			str = "Button Lancer FineFocus";
			break;
	}
	int answer = wxMessageBox("Quit program? " + str, "Confirm", wxYES_NO, this);
	if (answer == wxYES)
	{
		this->Close();
	}
}