Gambas France BETA


Pas de compte ? Incription

gestion de la perte du focus

Ce sujet est résolu.

1
AuteurMessages
Gamux#1 Posté le 23/5/2012 à 08:26:13
Bonjour,
j'ai une textbox qui peut être mouvementée par une saisie manuelle ou par le choix d'une des données affichées dans un columnview.
Ce columnview s'ouvre en cliquant sur un bouton situé près de la textbox.
Si je quitte la textbox j'ai un contrôle sur la présence de la donnée qu'elle contient (Textbox_LostFocus)
Le problème c'est que si je clique sur le bouton pour récupérer la donnée je perd le focus sur la textbox et j'ai donc un message qui s'affiche me demandant de saisir une donnée.
Ma question. Comment faire pour shunter momentanément la perte du focus sur la textbox quant je clique sur le bouton ?
Gamux#2 Posté le 23/5/2012 à 08:28:27
A peine mon message était-il posté que j'ai eu une lumière.
Mettre un Stop event quant je clique sur le bouton répond apparemment à ma question.
Gamux#3 Posté le 23/5/2012 à 09:02:23
Le stop event ne résout pas mon souci .

En fait il me suffisait juste de changer le nom de la procédure Public Sub ToggleButton1_click() par Public Sub ToggleButton1_MouseDown().
Cela vous parait-il judicieux ?
manu#4 Posté le 23/5/2012 à 13:47:54
Avec Gambas ca roule !Bonjour Gamux,

Dans Gambas3 Il existe un combo qui t'affiche une table de données, c'est dans le composant gb.db.form. Il semble que ce soit cela que tu essaye de reproduire, a moins que je n'ai pas tout compris ;)




POur plus d'info c'est ici :

http://gambasdoc.org/help/comp/gb.db.form/datacomboview?fr&v3
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Gamux#5 Posté le 23/5/2012 à 18:25:21
Bonjour Manu,

merci pour ta réponse.
En fait c'est bien de la perte du focus dont je parlais.

Si j'ai bien compris mes tests
Button_click() déclenche l'événement Lostfocus.
Button_mousedown ne le déclenche pas.

Donc si on met en place une gestion de la perte du focus sur une textbox (Textbox_Lostfocus) et que ponctuellement on ne souhaite pas gérer cet événement lors d'un clic sur un bouton, il faudra utiliser button_MouseDown() et pas button-click().

Si quelqu'un pouvait valider mes observations ... ca serait sympa
manu#6 Posté le 23/5/2012 à 22:33:39
Avec Gambas ca roule !Gamux, peux tu mettre un peux plus de code pour qu'on teste facilement...
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
gambix#7 Posté le 26/5/2012 à 19:00:44
Faire simple !il suffit de ne pas tester par la perte de focus ...

plutôt a la validation du formulaire ou a sa fermeture.


sinon met un flag dans button_enter a true et a false lors du leave


si le flag est true alors return ... donc pas de test

Moins de texte dans une signature c'est agrandir son espace.
Gamux#8 Posté le 29/5/2012 à 09:00:33
button_enter et leave.
Tout ça est d'une grande limpidité. Le tout est d'y penser.
Merci Gambix
gambix#9 Posté le 29/5/2012 à 13:22:42
Faire simple !Bah, moi aussi j'ai ramé mais ya plus longtemp :)



Moins de texte dans une signature c'est agrandir son espace.
1