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

WD intercepter la touche Suppr

1 réponse
Avatar
Jacques TREPP
Bonjour,

en gros, tout est dans l'objet. Dans une fenètre de facturation, j'utilise
les touches flèches, insert, delete, etc.. pour gérer des fonctions.
toutes ces touches spéciales sont représentées par des boutons hors écran,
dont lettre d'appel correspond à la fonction des touches correspondantes du
clavier. (supp, ins, origine, etc). Pour les autres touches, si la valeur
est comprise dans une chaine de caractères représentant toutes les
lettres/chiffres, on alimente un champ de saisie en lecture seule.
code :
carn est une chaine
carn = "AZERTYUIOP£QSDFGHJKLMWXCVBN"
SI Position(carnm,TOUCHE) = 0 ALORS
SI Position(".-0123456789",TOUCHE) > 0 ALORS
VALENCOURS = VALENCOURS + TOUCHE
FIN
SINON
touchencours=TOUCHE
traitement()
FIN
TOUCHE = ""

Tout cela fonctionne, sauf la touche Suppr qui agit dans le champ TOUCHE, et
non comme touche de fonction.
ça fonctionnait parfaitement en version 5.5, mais plus en 10.

Comment intercepter la touche suppr pour éviter ce problème ?
merci et bonnes fètes

Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)

1 réponse

Avatar
Jacques TREPP
"Jacques TREPP" a écrit dans le message de
news:4772683a$0$31745$
Bonjour,

en gros, tout est dans l'objet. Dans une fenètre de facturation, j'utilise
les touches flèches, insert, delete, etc.. pour gérer des fonctions.
toutes ces touches spéciales sont représentées par des boutons hors écran,
dont lettre d'appel correspond à la fonction des touches correspondantes
du clavier. (supp, ins, origine, etc). Pour les autres touches, si la
valeur est comprise dans une chaine de caractères représentant toutes les
lettres/chiffres, on alimente un champ de saisie en lecture seule.
code :
carn est une chaine
carn = "AZERTYUIOP£QSDFGHJKLMWXCVBN"
SI Position(carnm,TOUCHE) = 0 ALORS
SI Position(".-0123456789",TOUCHE) > 0 ALORS
VALENCOURS = VALENCOURS + TOUCHE
FIN
SINON
touchencours=TOUCHE
traitement()
FIN
TOUCHE = ""

Tout cela fonctionne, sauf la touche Suppr qui agit dans le champ TOUCHE,
et non comme touche de fonction.
ça fonctionnait parfaitement en version 5.5, mais plus en 10.

Comment intercepter la touche suppr pour éviter ce problème ?
merci et bonnes fètes




Bon, j'ai résolu une partie du problème par le biais d'un évènement :
evnt est un entier
evnt = Evénement("touche_del", ".*", WM_KEYDOWN)
dans le code d'init de la fenètre, puis
PROCEDURE touche_del()
SI _EVE.wParam = VK_DELETE ALORS
ExécuteTraitement(BT_DEL,trtClic)
FIN
dans la procédure.

A moi, maintenent de me débrouiller avec les autres champs de la fenètre. De
toutes façons, tous les champs sont en lecture seule, et sont alimentés par
programme.




--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)