Wxwidgets wxValidator [Résolu]

zaibacker 98 Messages postés vendredi 17 février 2006Date d'inscription 24 janvier 2018 Dernière intervention - 3 mai 2006 à 14:31 - Dernière réponse : fredcl 547 Messages postés mercredi 8 janvier 2003Date d'inscription 7 octobre 2007 Dernière intervention
- 3 mai 2006 à 18:20
Bonjour , j'ai créé des wxSpinCtrl et des wxComboBox,le soucis cest que lon peut ecrire à linterieur alors que pour le wxSpinCtrl je veux que l'utilisateur ne puisse rien ecrire dedans ,il utilisera juste les 2 boutons qui sont fourni pour incrementer et diminuer la valeur ; et pour le wxComboBox je ne veux pas quil puisse saisir a linterieur de la fenetre,seulement la liste que je lui fourni..

Dans leur constructeur il y a un parametre de wxValidator qui doit surement agir sur la saisie ou non de lutilisateur.
Je ne sais pas sil faut utiliser cette classe ou alors sa classe dérivée wxGenericValidator.
Si quelqu'un a un exemple a me fournir......

Merci
Afficher la suite 

5 réponses

Répondre au sujet
fredcl 547 Messages postés mercredi 8 janvier 2003Date d'inscription 7 octobre 2007 Dernière intervention - 3 mai 2006 à 15:40
+3
Utile
Bonjour,


voici un exemple de déclaration de combobox sans possibilité de saisir (uniquement sélection d'élément de la liste)


   wxString cbStrings[4] =   {_("un"), _("deux"), _("trois")};


   cbFileFormat = new wxComboBox(BasePanel, ID_COMBOBOX, _("deux"), wxDefaultPosition,

                                
wxDefaultSize, WXSIZEOF(cbStrings), cbStrings, wxCB_READONLY);

c'est le style wxCB_READONLY qui fait que la saisie n'est pas possible.

Cordialement

Fred Cailleau-Lepetit
Soft In The Box
Forum wxWidgets en français
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de fredcl
cs_satellite34 688 Messages postés mercredi 6 avril 2005Date d'inscription 2 juin 2006 Dernière intervention - 3 mai 2006 à 14:43
0
Utile
 combo_play = new wxComboBox( this, ID_PLAY_COMBO );

avec ca l'user ne peu pas ecire, j'ai mis les valeurs par rapport a des variables fixes

@+;
satellite34

http://wxcod.free.fr/forum/
Commenter la réponse de cs_satellite34
zaibacker 98 Messages postés vendredi 17 février 2006Date d'inscription 24 janvier 2018 Dernière intervention - 3 mai 2006 à 14:50
0
Utile
_pCombo = new

wxComboBox(this

,ID_COMBOBOX_P,_elements[0], wxPoint(100,103),wxSize(150,20), 2, _elements,wxCB_SORT |wxCLOSE_BOX, wxDefaultValidator, wxT("comboBox"));

Bin avec moi ca


,jarrive a ecrire dedans et je comprend pas pourquoi,dou je pense je dois retoucher au wxDefaultValidator.
_elements est un tableau de chaine de caractere fixe,yen a dans ce cas 2 ,lutilisateur doit en choisir 1 mais il peut saisir a linterieur de la combobox alors que ca ne lui devrait pas etre permis
Commenter la réponse de zaibacker
zaibacker 98 Messages postés vendredi 17 février 2006Date d'inscription 24 janvier 2018 Dernière intervention - 3 mai 2006 à 17:09
0
Utile
Ok je vous remercie a tous les 2.

Fredcl oui en effet,ton wxCB_READONLY marche à merveille sur mes combobox,je ten remercie,mais tu n'aurais pas l'equivalent pour une SpinCtrl par hasard?
Commenter la réponse de zaibacker
fredcl 547 Messages postés mercredi 8 janvier 2003Date d'inscription 7 octobre 2007 Dernière intervention - 3 mai 2006 à 18:20
0
Utile
Bonjour,



je n'ai pas trouvé comment rendre la partie text d'un wxSpinCtrl en
lecture seule, je ne pense pas que cela soit possible facilement.

En revanche une astuce possible :

Il suffit d'émuler un wxSpinCtrl avec un wxSpinButton et un wxTextCtrl,
le contrôle texte seras en lecture seule, et il sera mis à jour

à chaque événement EVT_SPIN(id, func) en récupérant la valeur du
wxSpinButton avec sa fonction membre wxSpinButton::GetValue

et en écrivant cette valeur dans le contrôle texte avec wxTextCtrl::SetValue.

Cordialement

Fred Cailleau-Lepetit
Soft In The Box
Forum wxWidgets en français
Commenter la réponse de fredcl

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.