Bonjour à tous
Je voudrais faire mon propre validateur en héritant de wxTextValidator, mais j'ai quelques problèmes.
Voici ma classe héritée:
Et voici comment j'associe mon wxTextCtrl et ce MyValidator:
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
31 #include <wx/valtext.h> // Declaration class MyValidator : wxTextValidator { MyValidator(); MyValidator(const MyValidator& val); ~MyValidator() {}; wxObject* Clone() const {return new MyValidator(*this);}; bool Validate(wxWindow* parent); }; // Implementation MyValidator::MyValidator() : wxTextValidator(wxFILTER_NONE, NULL) { } MyValidator::MyValidator(const MyValidator& val) { Copy(val); } bool MyValidator::Validate(wxWindow* parent) { // My validation procedure // ... return true; // or false }SetValidator() appelle le constructeur par défaut de la classe MyValidator, puis le constructeur par copie est appelé via la méthode Clone(), mais la méthode Validate() n'est jamais appelée lorsque je modifie le contenu de mon wxTextCtrl.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 MyInheritedPanel::MyInheritedPanel(wxWindow* parent) : MyBasePanel(parent) { // m_myTextCtrl is created in the MyBasePanel class m_myTextCtrl->SetValidator(MyValidator()); }
Voyez-vous ce que je fais mal?
Merci d'avance.
Partager