PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Touche TAB dans une table
Touche TAB dans une table
Débuté par Mélanie, 15 mai 2019 11:05 - 6 réponses
Posté le 15 mai 2019 - 11:05
Bonjour,

Je souhaiterais passer aux éléments suivants dans une table avec la touche TAB, mais je me demande si c'est possible.
J'ai essayé certaines choses mais ça ne fonctionne pas.

Avez-vous une petit idée.

Merci d'avance de votre aide
Membre enregistré
108 messages
Popularité : +2 (2 votes)
Posté le 15 mai 2019 - 11:33
Bonjour,

si la table est en saisie et que les champs dans les colonnes sont en saisie, oui, ça marche.

Bon dev.

--
Cordialement

Philippe T.
Posté le 15 mai 2019 - 12:05
Merci pour votre réponse.

La table est en sélection, il y a juste les colonnes qui sont en saisie.

J'ai testé ce code, mais ça ne fonctionne pas comme je veux.
Je suis obligée de faire 2 fois TAB pour sélectionner la ligne en-dessous.

Sortie tb1 :
num_ligne est un entier = TableSelect(tb1)
SI ToucheEnfoncée(9,Faux) ALORS
Multitâche(-1)
SI TableOccurrence(tb1) >= (num_ligne + 1) ALORS
TableSelectPlus(tb1,num_ligne+1)
FIN
FIN
Membre enregistré
108 messages
Popularité : +2 (2 votes)
Posté le 15 mai 2019 - 14:23
Si les champs des colonnes doivent être en saisie, la table doit aussi être en saisie.
Et il n'y a pas besoin de code de programmation.
Mais peut-être que je n'ai pas compris le problème?

--
Cordialement

Philippe T.
Posté le 15 mai 2019 - 15:21
Peut-être que je me suis mal exprimée.

J'aimerais aller de ligne en ligne dans une table avec la touche "TAB".

Mais dès que je le fais, ça passe au champ suivant.

il faudrait que j'arrive à detecter la touche "tab" et de l'annuler.
et ensuite, allez à la ligne d'en dessous.
Membre enregistré
189 messages
Popularité : +4 (8 votes)
Posté le 17 mai 2019 - 12:10
Bonjour
J'ai créé une procédure global avec ce code :
PROCÉDURE CaptureClavier(Message, wParam, lParam)
num_ligne est un entier
SI wParam=9 ALORS
num_ligne = TableSelect(Fenêtre2.Table_futura)
SI TableOccurrence(Fenêtre2.Table_futura) >= (num_ligne + 1) ALORS
num_ligne++
TableSelectPlus(Fenêtre2.Table_futura,num_ligne)
FIN
RepriseSaisie(Fenêtre2.Table_futura.REF) // REF = La première colonne de ma table
SINON
FIN

Dans l'init du projet :
EXTERNE "KeyConst.WL"
EXTERNE "WinConst.WL"
numEvent est un entier

En fin d'init de ma table :
numEvent = Evénement("CaptureClavier","Fenêtre2.Table_futura",WM_KEYDOWN)

Chez moi cela fonctionne
Bon dev
Posté le 17 mai 2019 - 16:18
Merci pour votre réponse.

Je n'avais pas pensé à ça.
Je vais tenter.
Merci.