OVH Cloud OVH Cloud

Passer sur le champ précédent

9 réponses
Avatar
Wanadoo
Bonjour à Tous

Par défaut, sous Windows, pour aller sur le champ de saisie précédent on
fait Shift + Tab
Seulement voilà mon client désire que ce soit F4

Il y a-t-il un moyen pour remplacer Shift+Tab par F4 ou à défaut, que F4 se
comporte de la même façon

D'avance Merci
@+

9 réponses

Avatar
Eric Regnier \(bureau\)
'lut,

Wanadoo a écrit:

Par défaut, sous Windows, pour aller sur le champ de saisie précédent
on fait Shift + Tab
Seulement voilà mon client désire que ce soit F4

Il y a-t-il un moyen pour remplacer Shift+Tab par F4 ou à défaut, que
F4 se comporte de la même façon



Intercepter l'évènement "Appui sur F4". Y a plusieurs façons de faire.
Associer par exemple un bouton caché à la touche F4, puis coder
manuellement dans le bouton le passage à la zone de saisie précédente.

Sont bizarres ces clients. ;-)

--
Eric.
Avatar
Wanadoo
Non, le client n'est pas bizarre
En fait, on refait toute leurs applis sous Windev + Oracle et c'est comme
cela dans leurs programmes.
Le pb du bouton caché c'est que cela fait beaucoup de code à écrire
De plus, le "Shift + Tab" est semble-t-il gérer par Windows et pas par
Windev
Je cherche donc un moyen de "paramétrer" la touche F4 pour qu'elle fasse la
même chose que Shift + TAB
Ainsi, rien à reprogrammer

Merci quand même
@+

"Eric Regnier (bureau)" a écrit dans le message de
news:bk6sa0$gsv$
'lut,

Wanadoo a écrit:

> Par défaut, sous Windows, pour aller sur le champ de saisie précédent
> on fait Shift + Tab
> Seulement voilà mon client désire que ce soit F4
>
> Il y a-t-il un moyen pour remplacer Shift+Tab par F4 ou à défaut, que
> F4 se comporte de la même façon

Intercepter l'évènement "Appui sur F4". Y a plusieurs façons de faire.
Associer par exemple un bouton caché à la touche F4, puis coder
manuellement dans le bouton le passage à la zone de saisie précédente.

Sont bizarres ces clients. ;-)

--
Eric.



Avatar
EBSoft
Salut,

Associer un bouton caché à la touche F4, et ensuite tu utilise la fonction :

EnvoieTouche({TAB})

Et la tu n'as aucun autre code à saisir

Bon courage,

Eric BEAUVAIS
http://www.ebsoft.net


"Wanadoo" a écrit dans le message de
news:bk6q97$6re$
Bonjour à Tous

Par défaut, sous Windows, pour aller sur le champ de saisie précédent on
fait Shift + Tab
Seulement voilà mon client désire que ce soit F4

Il y a-t-il un moyen pour remplacer Shift+Tab par F4 ou à défaut, que F4


se
comporte de la même façon

D'avance Merci
@+




Avatar
EBSoft
Zut cela ne marche pas, cela aurait été trop simple

Désolé, je pense qu'il faut passer par les événements ou voir avec les
fonctions champsuivant() et champrécédent().

Si tu trouves merci de m'indiquer comment tu as fait.

Eric BEAUVAIS
http://www.ebsoft.net


"EBSoft" a écrit dans le message de
news:bk6v9m$mpc$
Salut,

Associer un bouton caché à la touche F4, et ensuite tu utilise la fonction


:

EnvoieTouche({TAB})

Et la tu n'as aucun autre code à saisir

Bon courage,

Eric BEAUVAIS
http://www.ebsoft.net


"Wanadoo" a écrit dans le message de
news:bk6q97$6re$
> Bonjour à Tous
>
> Par défaut, sous Windows, pour aller sur le champ de saisie précédent on
> fait Shift + Tab
> Seulement voilà mon client désire que ce soit F4
>
> Il y a-t-il un moyen pour remplacer Shift+Tab par F4 ou à défaut, que F4
se
> comporte de la même façon
>
> D'avance Merci
> @+
>
>




Avatar
Eric Regnier \(bureau\)
Wanadoo a écrit:

Non, le client n'est pas bizarre



Le client est, par définition, bizarre. ;-)

En fait, on refait toute leurs applis sous Windev + Oracle et c'est
comme cela dans leurs programmes.



Ok.

Le pb du bouton caché c'est que cela fait beaucoup de code à écrire



Si le code à l'intérieur est simple et siffisamment générique, il eut
suffit de copier le bouton dans toutes tes fenêtres (mais même ça, c'est
pas top).
En plus, ChampPrécédent() te renverrait le nom du champ précédant le
bouton (et non pas celui précédant celui dans lequel la touche F4 est
frappée).

Je cherche donc un moyen de "paramétrer" la touche F4 pour qu'elle
fasse la même chose que Shift + TAB



L'idée de EBSoft est mieux, mais cela n'a pas l'air de fonctionner.

Gloups. :-/

--
Eric.
Avatar
Eric Regnier \(bureau\)
EBSoft a écrit:

Associer un bouton caché à la touche F4, et ensuite tu utilise la
fonction :

EnvoieTouche({TAB})



EnvoieTouche("+{TAB}") est la syntaxe correcte, je crois.
Mais de toutes façons le résultat est bizarre: le curseur se positionne
sur le dernier champ...
Avec EnvoieTouche("{TAB}"), le curseur se positionne sur le premier
champ...

--
Eric.
Avatar
Pierre-Yves TAVERNIER
Bonjour,

Il faut utiliser le message WM_NEXTDLGCTL (valeur = 0x0028)

Tu interceptes ta touche et :

Pour passer au chanmps suivant (de mémoire)
PostMessage(hwnfFenetre,WM_NEXTDLGCTL ,0,False)

au précedent
PostMessage(hwnfFenetre,WM_NEXTDLGCTL ,1,False)

PYT

"Wanadoo" a écrit dans le message de
news:bk6q97$6re$
Bonjour à Tous

Par défaut, sous Windows, pour aller sur le champ de saisie précédent on
fait Shift + Tab
Seulement voilà mon client désire que ce soit F4

Il y a-t-il un moyen pour remplacer Shift+Tab par F4 ou à défaut, que F4


se
comporte de la même façon

D'avance Merci
@+




Avatar
Eric Regnier \(bureau\)
Eric Regnier (bureau) a écrit:

EnvoieTouche("+{TAB}") est la syntaxe correcte, je crois.
Mais de toutes façons le résultat est bizarre: le curseur se
positionne sur le dernier champ...



Arf! La bonne réponse a été donnée sur le groupe de PcSoft.
La syntaxe est bonne, mais le bouton doit être déclaré en
"Interruption".

Voilà (ouf).

--
Eric.
http://www.jurifiche.fr
Avatar
Wanadoo
Voici la soluce : vous m'avez mis sur la voie mais il manqué un petit détail
:

Il faut créer un bouton en dehors de la fenêtre (j'ai essayé sur un autre
plan mais cela ne foncionne pas).
Ce bouton est appelé par la touche de fonction F4
Le bouton doit être visible (sinon le code ne s'exécute pas)
Code du bouton : EnvoiTouche("+{TAB}")

le détail qui manquait :
************************************
Le bouton doit être de type INTERRUPTION
************************************

En effet, en mode normal, celui-ci prend le focus avant d'exécuter le code.
C'est pourquoi, dans mon cas il remettait le focus sur le premier champ de
saisie de
ma fenêtre

Merci à Tous
@+
"Wanadoo" a écrit dans le message de
news:bk6q97$6re$
Bonjour à Tous

Par défaut, sous Windows, pour aller sur le champ de saisie précédent on
fait Shift + Tab
Seulement voilà mon client désire que ce soit F4

Il y a-t-il un moyen pour remplacer Shift+Tab par F4 ou à défaut, que F4


se
comporte de la même façon

D'avance Merci
@+