Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment vider le buffer clavier pour éviter le double click ?

3 réponses
Avatar
Teddy
Bonjour,

J'ai 1 appli VB6 - qui "marche" très bien - lorsqu'on clique sur les boutons de commande
pour lancer divers traitements.

Malheureusement, des utilisateurs font (par habitude ?) des double-click et finissent par
lancer plusieurs fois
et successivement le même traitement !

Peut-on empêcher ça en vidant le buffer du clavier juste après le click sur une touche,
ou bien faut-il prévoir une variable "sémaphore" pour interdire tout autre click pendant
le traitement,
ou bien encore rendre le bouton invalide (grisé) pendant le traitement ?

Merci d'avance pour votre avis.

Teddy

3 réponses

Avatar
X
Bonjour,

Tu dis:
"... boutons... des double-click..."

Il ne semble pas y avoir d'évènement DoubleClique pour un bouton, seul
le clique ???

Un sémaphore ou un bouton.enabledúlse, semblent une bonne solution,
bien que je ne sois pas certain d'être exhaustif :o)

Le vidage du buffer se fait par exemple sur des évènement (Key...), mais
je ne crois pas que le bouton soit sensible à ce genre d'évènement...
Peut être existe-t-il une API pour le buffer aussi, je ne sais?

Sinon pour vider le buffer dans ce cas, on donne 0 à la variable key...,
soit:

sub bouton_key...(key... as integer)
if key... = X then
key... = 0
exit sub
end if
...
end sub
------------


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

Bonjour,

J'ai 1 appli VB6 - qui "marche" très bien - lorsqu'on clique sur les
boutons de commande pour lancer divers traitements.

Malheureusement, des utilisateurs font (par habitude ?) des double-click
et finissent par lancer plusieurs fois
et successivement le même traitement !

Peut-on empêcher ça en vidant le buffer du clavier juste après le click
sur une touche,
ou bien faut-il prévoir une variable "sémaphore" pour interdire tout autre
click pendant le traitement,
ou bien encore rendre le bouton invalide (grisé) pendant le traitement ?

Merci d'avance pour votre avis.

Teddy



Avatar
Teddy
Ok, merci.

"X" <x> a écrit dans le message de news:
Bonjour,

Tu dis:
"... boutons... des double-click..."

Il ne semble pas y avoir d'évènement DoubleClique pour un bouton, seul le clique ???

Un sémaphore ou un bouton.enabledúlse, semblent une bonne solution, bien que je ne
sois pas certain d'être exhaustif :o)

Le vidage du buffer se fait par exemple sur des évènement (Key...), mais je ne crois
pas que le bouton soit sensible à ce genre d'évènement...
Peut être existe-t-il une API pour le buffer aussi, je ne sais?

Sinon pour vider le buffer dans ce cas, on donne 0 à la variable key..., soit:

sub bouton_key...(key... as integer)
if key... = X then
key... = 0
exit sub
end if
...
end sub
------------


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

Bonjour,

J'ai 1 appli VB6 - qui "marche" très bien - lorsqu'on clique sur les boutons de
commande pour lancer divers traitements.

Malheureusement, des utilisateurs font (par habitude ?) des double-click et finissent
par lancer plusieurs fois
et successivement le même traitement !

Peut-on empêcher ça en vidant le buffer du clavier juste après le click sur une touche,
ou bien faut-il prévoir une variable "sémaphore" pour interdire tout autre click
pendant le traitement,
ou bien encore rendre le bouton invalide (grisé) pendant le traitement ?

Merci d'avance pour votre avis.

Teddy







Avatar
Driss HANIB
salut Teddy

effectivement moi je préfèrerai une variable 'sémaphore' comme tu appelles
cela.
ça marche bien..

Driss

" Teddy" a écrit dans le message de
news:
Bonjour,

J'ai 1 appli VB6 - qui "marche" très bien - lorsqu'on clique sur les


boutons de commande
pour lancer divers traitements.

Malheureusement, des utilisateurs font (par habitude ?) des double-click


et finissent par
lancer plusieurs fois
et successivement le même traitement !

Peut-on empêcher ça en vidant le buffer du clavier juste après le click


sur une touche,
ou bien faut-il prévoir une variable "sémaphore" pour interdire tout


autre click pendant
le traitement,
ou bien encore rendre le bouton invalide (grisé) pendant le traitement ?

Merci d'avance pour votre avis.

Teddy