|
| Intercepter caractere non numerique dans zone numérique |
| Iniciado por YWE, 21,feb. 2019 11:26 - 5 respuestas |
| |
| | | |
|
| |
Miembro registrado 47 mensajes |
|
| Publicado el 21,febrero 2019 - 11:26 |
Bonjour, Une colonne de mon tableau est modifiable avec un masque numérique. J'ai coché l'option d'avoir l'icône de la calculette. Mon besoin est le suivant : si l'utilisateur tape la touche "+", je déclenche l'affichage de la calculatrice. Le problème est, vu que le champ est défini comme numérique lorsque je saisi "+", il ne se passe rien. Quelqu'un a t'il une solution ? Voici mon code pour chaque modification dans la zone
nTouchePlus est un entier = 0xbb nToucheMoins est un entier = 0xbd
SI ToucheEnfoncée(nTouchePlus) _OU_ ToucheEnfoncée(nToucheMoins) ALORS FAAExécute(COL_Valeur, faaCalculatrice) FIN
Merci
-- Bon dev ! |
| |
| |
| | | |
|
| | |
| |
| Publicado el 22,febrero 2019 - 09:39 |
Bonjour,
Tu pourrais créer un bouton caché dont le raccourci est + et un autre avec - Dans l'entrée de la cellule, tu rends ces boutons actifs. En sortie, tu les désactives. En plaçant le traitement dans les boutons cela devrait fonctionner.
-- Cordialement, Pierre |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 356 mensajes |
|
| Publicado el 22,febrero 2019 - 12:24 |
Bonjour,
Tu peux aussi mettre dans le code d'initialisation de ta fenêtre un truc du genre
WM_KEYDOWN est un entier = 256 VK_ADD est un entier = 107
Evénement(TESTSI_PLUS, SAI_NUM..Nom, WM_KEYDOWN)
PROCEDURE INTERNE TESTSI_PLUS(MessageWindows, wParam, lParam) SI wParam=VK_ADD ALORS Trace("Action si PLus") FIN FIN
en supposant que le champ se nomme "SAI_NUM"
-- Francis MOREL http://www.SoftProtect.fr |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 47 mensajes |
|
| Publicado el 24,febrero 2019 - 11:29 |
Francis MOREL a écrit :
Bonjour, Tu peux aussi mettre dans le code d'initialisation de ta fenêtre un truc du genre // Déclaration des constantes WM_KEYDOWN est un entier = 256 VK_ADD est un entier = 107 // Le "+" du pavé numérique // Déclaration de l'événement Evénement(TESTSI_PLUS, SAI_NUM..Nom, WM_KEYDOWN) PROCEDURE INTERNE TESTSI_PLUS(MessageWindows, wParam, lParam) SI wParam=VK_ADD ALORS Trace("Action si PLus") FIN FIN en supposant que le champ se nomme "SAI_NUM" -- Francis MOREL http://www.SoftProtect.fr
Merci Francis,
Cette méthode fonctionne pour un champ de saisi même avec un masque numérique. Par contre ça ne marche pas pour la cellule d'un tableau avec le masque numérique.
-- Bon dev ! Version Windev : 23Mensaje modificado, 24,febrero 2019 - 11:36 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 356 mensajes |
|
| Publicado el 24,febrero 2019 - 15:06 |
Bonjour,
Si, si ça marche aussi dans ce cas, il suffit simplement d'adapter le code et au besoin de tester la colonne concernée. Avec par exemple : Evénement(TESTSI_PLUS, Table1..Nom, WM_KEYDOWN)
PROCEDURE INTERNE TESTSI_PLUS(MessageWindows, wParam, lParam) SI ChampEnCours="ColNumérique" _ET_ wParam=VK_ADD ALORS Trace("Action si PLus") FIN FIN Pour gestion du "+" sur la colonne "ColNumérique" de la "Table1"
Bon dev. A+
-- Francis MOREL http://www.SoftProtect.fr |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 47 mensajes |
|
| Publicado el 25,febrero 2019 - 10:05 |
Francis MOREL a écrit :
Bonjour, Si, si ça marche aussi dans ce cas, il suffit simplement d'adapter le code et au besoin de tester la colonne concernée. Avec par exemple : // Déclaration de l'événement Evénement(TESTSI_PLUS, Table1..Nom, WM_KEYDOWN) PROCEDURE INTERNE TESTSI_PLUS(MessageWindows, wParam, lParam) SI ChampEnCours="ColNumérique" _ET_ wParam=VK_ADD ALORS Trace("Action si PLus") FIN FIN Pour gestion du "+" sur la colonne "ColNumérique" de la "Table1" Bon dev. A+ -- Francis MOREL http://www.SoftProtect.fr Super ! Ca marche bien. En fait j'avais déclaré de cette façon suivante, raison pour laquelle ça ne marchait pas
Evénement(TESTSI_PLUS, Table1.NomColonne..Nom, WM_KEYDOWN)
Je retiens finalement cette solution !
-- Bon dev ! Version Windev : 23 |
| |
| |
| | | |
|
| | | | |
| | |
|