OVH Cloud OVH Cloud

focus

5 réponses
Avatar
jc2nantes
Bonjour,

J'ai un form avec différents boutons, qui reçoit des evenements clavier
(keyprview = true) tant que l'on ne clique pas sur l'un des boutons.
J'aimerais justement qu'après un clic sur l'un des boutons, le focus
revienne automatiquement sur le form.

Comment faire ? je cale!

à plus,

JC

5 réponses

Avatar
Jacques93
jc2nantes a écrit :
Bonjour,

J'ai un form avec différents boutons, qui reçoit des evenements clavier
(keyprview = true) tant que l'on ne clique pas sur l'un des boutons.
J'aimerais justement qu'après un clic sur l'un des boutons, le focus
revienne automatiquement sur le form.

Comment faire ? je cale!

à plus,

JC



Je ne comprends pas très bien, le fait qu'un bouton ait le focus
n'empeche pas la form de recevoir les événements KeyPress (Si KeyPreview
= True). Ou me trompe je ?

--
Cordialement,

Jacques.
Avatar
jc2nantes
Ok Jacques! ta remarque me fait penser que mon probleme vient sans doute
d'ailleurs...

en fait, il semble lié à la touche entrée (code ascii 13) qui est reçu par
le form sauf si un bouton a le focus...

je dois tester la reception de ce "caractère" pour signaler à mon programme
que la chaine saisie est "complète" et qu'il peut la traiter.
petit détail : la saisie se fait via un lecteur code barre qui envoie ces x
caractères + 1 chr13 en fin de chaine...

tu suis ?



"Jacques93" a écrit dans le message de
news: exmT$
jc2nantes a écrit :
> Bonjour,
>
> J'ai un form avec différents boutons, qui reçoit des evenements clavier
> (keyprview = true) tant que l'on ne clique pas sur l'un des boutons.
> J'aimerais justement qu'après un clic sur l'un des boutons, le focus
> revienne automatiquement sur le form.
>
> Comment faire ? je cale!
>
> à plus,
>
> JC

Je ne comprends pas très bien, le fait qu'un bouton ait le focus
n'empeche pas la form de recevoir les événements KeyPress (Si KeyPreview
= True). Ou me trompe je ?

--
Cordialement,

Jacques.


Avatar
Jacques93
Bonjour jc2nantes,
jc2nantes a écrit :
Ok Jacques! ta remarque me fait penser que mon probleme vient sans doute
d'ailleurs...

en fait, il semble lié à la touche entrée (code ascii 13) qui est reçu par
le form sauf si un bouton a le focus...

je dois tester la reception de ce "caractère" pour signaler à mon programme
que la chaine saisie est "complète" et qu'il peut la traiter.
petit détail : la saisie se fait via un lecteur code barre qui envoie ces x
caractères + 1 chr13 en fin de chaine...




N'aurais tu pas un bouton dont la propriété Default = True (auquel cas
il intercepte la touche <Entrée> . Au passage, dans la même idée, si un
bouton a la propriété Cancel = True, il intercepte la touche <Echap>

--
Cordialement,

Jacques.
Avatar
jc2nantes
non rien de tout ça!

en fait je peux contourner le probleme en faisant en sorte que suite à un
événement click sur un bouton, je place le focus ailleurs... c'est penible
car ça m'oblige à mettre un "setfocus" sur tous les boutons de mon form...

a +

"Jacques93" a écrit dans le message de
news:
N'aurais tu pas un bouton dont la propriété Default = True (auquel cas
il intercepte la touche <Entrée> . Au passage, dans la même idée, si un
bouton a la propriété Cancel = True, il intercepte la touche <Echap>

--


Avatar
Jacques93
Bonsoir jc2nantes,
jc2nantes a écrit :
non rien de tout ça!

en fait je peux contourner le probleme en faisant en sorte que suite à un
événement click sur un bouton, je place le focus ailleurs... c'est penible
car ça m'oblige à mettre un "setfocus" sur tous les boutons de mon form...

a +

"Jacques93" a écrit dans le message de
news:

N'aurais tu pas un bouton dont la propriété Default = True (auquel cas
il intercepte la touche <Entrée> . Au passage, dans la même idée, si un
bouton a la propriété Cancel = True, il intercepte la touche <Echap>

--






Excuses moi, mais j'ai un doute, si je met un bouton avec Default =
True, la form n'intercepte pas chr$(13). Comme la propriété default ne
peut être à True que pour un seul contrôle sur une form , prends en un
au hasard, mets le à True, puis repasse le à False.

NB: il me semble qu'en VB6 seul les boutons ont les propriétés Default
et Cancel. En VBA, je crois que d'autres contrôles disposent de ces
propriétés, mais pas certain ...

--
Cordialement,

Jacques.