PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Combo en cascade
Combo en cascade
Débuté par Mélanie, 20 aoû. 2019 17:59 - 5 réponses
Posté le 20 août 2019 - 17:59
Bonjour,

Je cherche une solution pour passer d'une combo à une autre dès qu'on a sélectionné une valeur.
J'ai fait plein de recherches mais je n'ai pas trouvé de solutions à mon problème.

J'ai une première combo qui affiche OUI, NON et Partielle.
A la sélection d'une valeur, je doit aller sur une autre combo qui affiche les valeurs indépendantes de la combo 1.

Si je fais avec la souris, tout se passe bien, mais dès que j'utilise le clavier avec les fléchés (Haut et bas) et la touche Entrée, je n'arrive pas à aller sur la combo suivante.

Pourtant, j'ai mis du code en fermeture et sortie de combo (Fonction comboouvre), mais rien ne se passe.

Avez-vous peut-être une solution ?

Merci d'avance de votre aide.

Mél
Membre enregistré
3 889 messages
Popularité : +227 (347 votes)
Posté le 20 août 2019 - 23:33
Bonjour,
Assure toi de l'ordre des tabulations.
Lorsque ta fenêtre est en création, dans l'onglet "Fenêtre", il suffit de sélectionner "Ordre/Navigation/Editer".
Il suffit de décocher "Définir automatiquement ..." (1)
De Sélectionner la combo qui doit "prendre la main" lorsque la premieère ser traitée (2) Dans l'exemple, Combo_Vide succédera à Combo_AvecRenvoiTexte
Enfin de la déplacer grâce aux flèches(3)



Avant



Après

--
Il y a peut être plus simple, mais, ça tourne
Posté le 21 août 2019 - 09:24
Bonjour,

Merci pour votre retour.

ça ne change pas mon souci.
Dès que j'utilise la touche "Entrée", ça ne change rien, ça ne passe à la combo suivante.

Mais avec la souris, pas de souci.
je vais encore chercher.
Membre enregistré
3 889 messages
Popularité : +227 (347 votes)
Posté le 21 août 2019 - 09:58
En interceptant la touche ENTREE via WM_KEYDOWN (il suffit d'ajouter l’événement dans le code) et en donnant le focus à la combo désirée, cela devrait se rapprocher de ce que tu veux.
SI _EVE.wParam=13 ALORS //Code de retour de Entrée
RepriseSaisie(COMBO_Vide)
FIN


Si on doit utiliser de nombreuses "interception", il est préférable de charger le fichier de constant en début de projet via

EXTERNE "KeyConst.wl"


Le code devient :
SI _EVE.wParam=VK_RETURN ALORS //Code de retour de Entrée
RepriseSaisie(COMBO_Vide)
FIN


--
Il y a peut être plus simple, mais, ça tourne
Posté le 21 août 2019 - 14:51
Bonjour,

Je ferais ceci :

Dans le code Sélection d'une ligne de Combo1 :

//Traitement....

//A la fin :
Combo2..Visible = Vrai // Au départ, Combo2 doit être en Invisible
ComboOuvre(Combo2)

Bon dev
A+
Rastam


Mélanie a écrit :
Bonjour,

Je cherche une solution pour passer d'une combo à une autre dès qu'on a sélectionné une valeur.
J'ai fait plein de recherches mais je n'ai pas trouvé de solutions à mon problème.

J'ai une première combo qui affiche OUI, NON et Partielle.
A la sélection d'une valeur, je doit aller sur une autre combo qui affiche les valeurs indépendantes de la combo 1.

Si je fais avec la souris, tout se passe bien, mais dès que j'utilise le clavier avec les fléchés (Haut et bas) et la touche Entrée, je n'arrive pas à aller sur la combo suivante.

Pourtant, j'ai mis du code en fermeture et sortie de combo (Fonction comboouvre), mais rien ne se passe.

Avez-vous peut-être une solution ?

Merci d'avance de votre aide.

Mél
Posté le 24 août 2019 - 17:33
Il se trouve que Voroltinquo a formulé :
En interceptant la touche ENTREE via WM_KEYDOWN (il suffit d'ajouter
l’événement dans le code) et en donnant le focus à la combo désirée, cela
devrait se rapprocher de ce que tu veux.


Vous êtes encore en Windev 5?

Franchement au secours en 2019 de voir encore quelqu'un qui propose du
code la préhistoire....

Il y a des lustres que Windev propose l'ajout d'événement nativement
dans les contrôles sans avoir à bidouiller avec ce code ancestral.

Chaque version dispose de la doc, lisez là, je suis halluciné par le
nombre de développeurs qui codent en Windev 24 comme en Windev 10 (et
encore je suis gentil)