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

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);
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
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	bool Validate(wxWindow* parent);
	virtual bool TransferToWindow();
	virtual bool TransferFromWindow();
c'est la que sa marche pas vraiment.
j'arrive pas a recupérer la valeur a l'interieur de mon textCtrl !

MERCI D'AVANCE