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 :
std::string focuser = FocuserBox->GetStringSelection();
ou bien :
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 :
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...) :
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();
}
} |
Partager