donc je cree une class :
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 class MonValidateurTexte: public wxTextValidator { private : int deb; int fin; long* dmetier; wxString * saisie; public: MonValidateurTexte(int , int , wxString * ); MonValidateurTexte(const wxTextValidator& validator); wxTextValidator* Clone() const; bool Validate(wxWindow* parent); virtual bool TransferToWindow(); virtual bool TransferFromWindow(); };
j'ai une class fenetre avec des TextCrtl et autres ...
je veux gerer les evenements sur 1 TextCrtl
je refini une fonction OnTexteValide avec ID_TEXT_CTRL_OP1 dans la table des evenements
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 mTexteop1 = new wxString(wxEmptyString); validatorTextop1 = new MonValidateurTexte(0,20, mTexteop1); textCtrlop1 = new wxTextCtrl(this,ID_TEXT_CTRL_OP1, "",wxDefaultPosition, wxSize(35,30),0,*validatorTextop1);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void MaFenetre::OnTexteValide(wxCommandEvent &e){ wxMessageBox("OnTexteValide.","A propos !"); if(validatorTextop1->Validate(this) && validatorTextop1->TransferFromWindow()) { //sa n'arrive pas jusqu'ici car sa plante juste avant wxMessageBox("dans le if.","A propos !"); wxMessageDialog dialog(this, *mTexteop1, "Texte saisi" , wxYES_NO); if(dialog.ShowModal() == wxID_YES) Close(true); }else{ wxMessageBox("ne rentre pas dans le if.","A propos !"); } }
jusque la tout marche
je dois redifinir les fonctions :
c'est la que sa marche pas vraiment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 bool Validate(wxWindow* parent); virtual bool TransferToWindow(); virtual bool TransferFromWindow();
j'arrive pas a recupérer la valeur a l'interieur de mon textCtrl !
MERCI D'AVANCE
Partager