|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| Débuté par Julien V, 03 juil. 2020 15:06 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 134 messages |
|
| Posté le 03 juillet 2020 - 15:06 |
Bonjour,
Dans l'optique d'améliorer l'expérience de mes utilisateurs je me pose quelques questions au sujet des raccourcis clavier :
Pour un champ onglet, la lettre d'appel exécute quel évènement ? J'ai essayé des traces sur la plupart des évènements associés au champ, je n'ai pas trouvé. Idéalement j'aimerai pouvoir utiliser une combinaison de touches (ex. Ctrl + "+") pour pouvoir ouvrir un nouvel onglet mais sans passer par la fonction Evenement.
De quelle manière peut-on calculer l'éventuelle combinaison de touches indiquées dans la propriété ..ToucheRaccourci d'un champ ? Je sais que si je mets Ctrl + F au niveau d'une lettre d'appel, la propriété va me renvoyer 536870982 qui est la somme de trControl + Asc( "F" ) (536870912 + 70), par contre dans le sens inverse je ne vois pas quelle est la façon de décomposer 536870982 pour tomber sur 536870912 + 70. L'idée serait de pouvoir présenter par prog les raccourcis clavier définis pour les champs qui en sont pourvus |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 363 messages |
|
| Posté le 03 juillet 2020 - 15:57 |
Bonjour, En ce qui concerne le raccourcis, une solution est de créer un bouton "Hors fenêtre", et de lui affecter le raccourcis désiré. Ce bouton appellera la procédure souhaitée.
En ce qui concerne la décomposition, à moins d'utiliser la méthode "bourrin" : -Soustraction des combinaisons possible au résultat et vérification de la validité du résultat (le résultat doit être dans les plages désirées) Je ne vois pas
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 310 messages |
|
| Posté le 03 juillet 2020 - 16:01 |
Bonjour, Vous pouvez convertir la valeur en hexa, les 2 octets de poids faible correspondront au 70
dec : 536870982
Hex : 20 00 00 46
Bon dev. |
| |
| |
| | | |
|
| | |
| |
| Posté le 03 juillet 2020 - 16:13 |
Bonjour
la lettre d'appel d'un onglet ne semble rien faire ( PCSOFT sait peut être ... )
on ne peux pas programmer dans Windev ONGLET1..ToucheRaccourci=trControl+ASC("F") : retourne une erreur non disponible pour ce champ ; idem que ce soit un onglet normal ou dynamique
le mieux est d'avoir un bouton en dehors de l'écran ( le placer à gauche en dehors de l'écran ) avec la touche de raccourci associée Ctrl + F ; dans le code de ce bouton ouvrir un nouvel onglet ; testé avec un onglet dynamique cela fonctionne
pour le calcul inverse il suffit de tester les bornes des totaux vu qu'ils ne se chevauchent pas : Raccourcis avec CTRL ( entre 536870977 et 536871002 de A à Z ) CTRL A : 536870977=536870912+65 CTRL B : 536870978=536870912+66 ... CTRL Z : 536871002=536870912+90
Raccourcis avec SHIFT ( entre 268435521 et 268435546 de A à Z ) SHIFT A : 268435521=268435456+65 SHIFT B : 268435522=268435456+66 ... SHIFT Z : 268435546=268435456+90
Raccourcis avec ALT ( entre 1073741889 et 1073741914 de A à Z ) ALT A : 1073741889=1073741824+65 ALT B : 1073741890=1073741824+66 ... ALT Z : 1073741914=1073741824+90
Bons devs |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 134 messages |
|
| Posté le 03 juillet 2020 - 17:09 |
Bonjour, merci pour toutes ces infos
A première vue je devrais m'en sortir avec ça, j'ai bricolé la procédure suivante :
constantesTouches est un tableau associatif de chaînes constantesTouches[ 0x01 ] = "VK_LBUTTON"
PROCEDURE INTERNE iproc_traduireRaccourci( _toucheRaccourci est un entier ) toucheRaccourci, valeurSansPoidsFaible est un entier toucheControle, toucheCaractere, toucheConstante est une chaîne combinaison est un tableau de 0 chaîne toucheRaccourci = _toucheRaccourci valeurSansPoidsFaible = Val( toucheRaccourci - PoidsFaible( toucheRaccourci ) ) SELON valeurSansPoidsFaible CAS trAlt : toucheControle = "Alt" CAS trControl : toucheControle = "Ctrl" CAS trShift : toucheControle = "Maj" AUTRE CAS : toucheControle = "" FIN SI toucheControle <> "" ALORS TableauAjoute( combinaison, toucheControle )
SI PoidsFaible( toucheRaccourci ) >= 0 ET PoidsFaible( toucheRaccourci ) <= 255 ALORS
toucheConstante = constantesTouches[ PoidsFaible( toucheRaccourci ) ] SI toucheConstante <> "" ALORS TableauAjoute( combinaison, toucheConstante ) SINON toucheCaractere = Caract( PoidsFaible( toucheRaccourci ) ) SI toucheCaractere <> "" ALORS TableauAjoute( combinaison, toucheCaractere ) FIN FIN
FIN RENVOYER TableauVersChaîne( combinaison, " + " ) FIN
A tester si ça fonctionne pour tous les cas de figure... |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|