PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → [WD14] Activer/Désactiver Majuscule
[WD14] Activer/Désactiver Majuscule
Started by Simo, Aug., 08 2009 4:24 AM - 5 replies
Posted on August, 08 2009 - 4:24 AM
Bonjour

Comment SVP activer ou désactiver la touche MAJ/MIN à chaque entrée dans un champ de saisie

Merci de votre aide, je suis preneur
Posted on August, 08 2009 - 3:14 PM
Bonjour,

Dans le code "Entrée de SAIxxxx"
appel de la procédure suivante avec paramètre = vrai
= verrouillage de la touche Majuscule
Paramètre = faux déverrouille la touche.
Lors du premier appel, la valeur initiale de la touche est renvoyée et peut servir à la restaurer après traitement (Plus propre)


Procedure CapsLook(LOCAL bStatus est un booléen = Faux)

VK_CAPITAL est entier = 0x14 // CapsLock
VK_NUMLOCK est entier = 0x90 // NumLock
VK_SCROLL est entier = 0x91 // ScrollLock
bEtatInitial est un booléen

nVK_Touche est entier = VK_CAPITAL
bEtatInitial = API("USER32","GetKeyState",nVK_Touche)
SI API("USER32","GetKeyState",nVK_Touche) <> bStatus ALORS
API("USER32","keybd_event",nVK_Touche,0x45,0x1,0)
API("USER32","keybd_event",nVK_Touche,0x45,0x2,0)
FIN

RENVOYER bEtatInitial



Bonne journée
Posted on August, 08 2009 - 3:14 PM
Re...

Simplification
(Le deuxieme appel à GetKeyState est inutile)

VK_CAPITAL est entier = 0x14 // CapsLock
VK_NUMLOCK est entier = 0x90 // NumLock
VK_SCROLL est entier = 0x91 // ScrollLock
bEtatInitial est un booléen

nVK_Touche est entier = VK_CAPITAL
bEtatInitial = API("USER32","GetKeyState",nVK_Touche)
SI bEtatInitial <> bStatus ALORS
API("USER32","keybd_event",nVK_Touche,0x45,0x1,0)
API("USER32","keybd_event",nVK_Touche,0x45,0x2,0)
FIN

RENVOYER bEtatInitial
Posted on August, 08 2009 - 7:53 PM
Simo a écrit dans le message de news <c6145607ec1e6eab2a11097176f6d9bd@news.pcsoft> :
> Comment SVP activer ou désactiver la touche MAJ/MIN à chaque entrée dans un champ de saisie

Que cherches-tu à faire au juste ? À mettre systématiquement ton texte en capitales ? Ou bien ?
Posted on August, 10 2009 - 12:12 AM
Floriang wrote in news message <d0ff1c4fdbe84d16a6675cb05f6e2cf4@news.pcsoft>:
Simo a écrit dans le message de news <c6145607ec1e6eab2a11097176f6d9bd@news.pcsoft> :
Comment SVP activer ou désactiver la touche MAJ/MIN à chaque entrée dans un champ de saisie

Que cherches-tu à faire au juste ? À mettre systématiquement ton texte en capitales ? Ou bien ?


Bonjour,
J'ai eu à faire ce genre de manipulation dans le contexte suivant.
- Une application tourne sur un PC équipé d'une dalle tactile (pas de clavier physique connecté)
- Un lecteur de code à bare permet de saisir une information de type numéro de série (chiffres + lettres)
- le code convertit correctement la saisie si le clavier n'est pas en Verr MAJ/MIN (& devient 1, é devient 2, etc...)
- Le problème est que je dois transmettre l'information à une seconde application, via EnvoieTouche. Si Verr MAJ/MIN n'est pas enfoncé, l'information est transmise en minuscule (éèàazerty au lieu de 270AZERTY), cela même si le champs de saisie affiche des informations correctes.
- En forcant Verr MAJ/MIN avant l'envoi, je m'assure que les informations sont correctes.

Je n'ai pas trouvé d'autre moyen.
Posted on July, 21 2024 - 7:43 PM
Bonjour ! :)
Pour activer la touche majuscules du clavier

Tout ce que vous avez à faire :
mettre ce code à la foie dans l'entrée de saisie et dans la sortie de saisie du champ :

EnvoieTouche("{CAPSLOCK}", MoiMême)