IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Ouverture d'un combo [WD16]


Sujet :

WinDev

  1. #1
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut Ouverture d'un combo
    Bonjour,

    J'ai un formulaire contenant des champs texte, numérique, booléen ainsi que de nombreux combos.

    Le problème rencontré est uniquement un question de pratique à l'utilisation uniquement à cause du fonctionnement des combos.

    En effet, dès lorsque j'affiche mon formulaire "zone répété avec xxx combos par ligne", j'ai finalement un nombre conséquent de combos affichées sur l'écran.
    Ce qui me gêne, c'est l'ouverture intempestif du combo dès lors que le curseur (via la souris) est cliqué sur l'entrée d'un combo (à noter que l'ouverture ne se fait pas en faisant un déplacement sur un combo avec la touche TAB).

    Le risque de refermer le combo en ayant sélectionné involontairement une autre ligne est présent.

    En final je souhaiterai n'ouvrir les combos qu'uniquement en cliquant sur le bouton du combo pour sélectionner éventuellement ou non une autre ligne.

    J'ai essayé sur plusieurs évènement le ComboFerme() mais rien n'y fait !

    Quelqu'un aurait il une idée pour inhiber cette ouverture de combo lors d'un clic sur entrée de celui-ci ?

    Nota : Trace après 3 sélections de combo sur des lignes différentes de la zone répété :
    - OK Ouverture : Index facture = 636 > Index créditeur = 22 > N° Ligne ZR = 514
    - OK Ouverture : Index facture = 118 > Index créditeur = 45 > N° Ligne ZR = 1
    - OK Ouverture : Index facture = 133 > Index créditeur = 6 > N° Ligne ZR = 2

    Dois je me servir du N° de ligne ZR pour agir sur un combo/ligne précisément sélectionné


    Merci d'avance
    La patience est d'or, l'aide est inestimable ...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour, pourquoi ne pas procéder autrement?
    A la place d'un champ combo, mettre un champ libellé et juste à côté, un champ bouton, le clic sur ce bouton va ouvrir une pop up contenant toutes les valeurs possibles liées à cette combo. A la sélection d'une ligne dans cette pop up, mettre à jour le champ libellé

  3. #3
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut Et pourquoi pas un combo ?
    Citation Envoyé par romulus001 Voir le message
    Bonjour, pourquoi ne pas procéder autrement?
    A la place d'un champ combo, mettre un champ libellé et juste à côté, un champ bouton, le clic sur ce bouton va ouvrir une pop up contenant toutes les valeurs possibles liées à cette combo. A la sélection d'une ligne dans cette pop up, mettre à jour le champ libellé
    Merci à toi mais cela ne répond pas à mon souhait...

    C'est simple à comprendre, la quantité d'information sur une seule ligne écran est considérable et le(s) combo(s) me convien(nen)t parfaitement.

    Prendre l’exemple sur ACCES de microsoft dont les combos ne s'ouvrent pas lorsqu'on sélectionne la cellule combo. Il nous faut cliquer sur le bouton à droite du combo pour l'ouvrir.
    Là c'est pareil, je voudrais le même fonctionnement !
    La patience est d'or, l'aide est inestimable ...

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 174
    Points : 287
    Points
    287
    Par défaut
    Bonjour;
    Une demi solution avec ce bout de code dans "Entrée dans COMBO"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ComboOuvre(MoiMême)
    ComboFerme(MoiMême)
    l'ouverture de la combo se fait au deuxième clic

    Bon Dev.

  5. #5
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par fouedusa Voir le message
    Bonjour;
    Une demi solution avec ce bout de code dans "Entrée dans COMBO"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ComboOuvre(MoiMême)
    ComboFerme(MoiMême)
    l'ouverture de la combo se fait au deuxième clic

    Bon Dev.
    Non, cela ne fonctionne pas sur l’événement entrée ou sélection ligne !

    De plus la solution n'est pas optimum.

    Je rappelle que cela fonctionne en utilisant la touche TAB (pas d'ouverture de combo) et qu'il me faut peut être inhiber cette fonction d'ouverture par le biais de :
    - WM_LBUTTONDOWN est un entier = 513 (code windev à maîtriser)
    - (code Windows à maitriser aussi)

    Si quelqu'un sait !
    La patience est d'or, l'aide est inestimable ...

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 174
    Points : 287
    Points
    287
    Par défaut
    Re :

    Toujours dans "Entrée dans COMBO"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DonneFocus(MoiMême)
    SI ToucheEnfoncée(teBoutonD)=Vrai ALORS
    	EnvoieTouche("{ECHAP}",MoiMême)
    FIN
    Bon Dev.

  7. #7
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par fouedusa Voir le message
    Re :

    Toujours dans "Entrée dans COMBO"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DonneFocus(MoiMême)
    SI ToucheEnfoncée(teBoutonD)=Vrai ALORS
    	EnvoieTouche("{ECHAP}",MoiMême)
    FIN
    Bon Dev.
    Je te remercie pour ta recherche.

    En fait c'est l'action sur le clic du bouton gauche de la souris sur le champ combo qui ouvre la boite de sélection du combo.
    J'ai essayé divers solutions basées sur ta réflexion, mais rien n'y fait.

    Il faut préciser qu'il s'agit d'un formulaire en mode zone répétée et que chaque ligne contient la même combo bien sûr.
    Je pense que cela doit jouer car lors de ces essais il me recopie le contenu du combo de la ligne précédente etc...

    D'autre part, dans cette zone répétée :
    - Lorsque je passe d'une ligne à l'autre en sélectionnant le combo répété, il n'utilise pas l’événement "Entrée" mais directement "Ouverture de la liste déroulante".
    - Lorsque je sélectionne un combo après avoir sélectionné un champ dans la même ligne, l’événement "Entrée" est sollicité puis après "Ouverture de la liste déroulante"

    A noter aussi que je charge les champs en mémoire avec une requête et un index de ligne

    Combo de même nom + indexLigne ??? çà ne fait pas bon ménage dans le traitement que je veux faire

    A réfléchir !
    La patience est d'or, l'aide est inestimable ...

  8. #8
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par GCASPIC10 Voir le message
    Bonjour,

    J'ai un formulaire contenant des champs texte, numérique, booléen ainsi que de nombreux combos.

    Le problème rencontré est uniquement un question de pratique à l'utilisation uniquement à cause du fonctionnement des combos.

    En effet, dès lorsque j'affiche mon formulaire "zone répété avec xxx combos par ligne", j'ai finalement un nombre conséquent de combos affichées sur l'écran.
    Ce qui me gêne, c'est l'ouverture intempestif du combo dès lors que le curseur (via la souris) est cliqué sur l'entrée d'un combo (à noter que l'ouverture ne se fait pas en faisant un déplacement sur un combo avec la touche TAB).

    Le risque de refermer le combo en ayant sélectionné involontairement une autre ligne est présent.

    En final je souhaiterai n'ouvrir les combos qu'uniquement en cliquant sur le bouton du combo pour sélectionner éventuellement ou non une autre ligne.

    J'ai essayé sur plusieurs évènement le ComboFerme() mais rien n'y fait !

    Quelqu'un aurait il une idée pour inhiber cette ouverture de combo lors d'un clic sur entrée de celui-ci ?

    Nota : Trace après 3 sélections de combo sur des lignes différentes de la zone répété :
    - OK Ouverture : Index facture = 636 > Index créditeur = 22 > N° Ligne ZR = 514
    - OK Ouverture : Index facture = 118 > Index créditeur = 45 > N° Ligne ZR = 1
    - OK Ouverture : Index facture = 133 > Index créditeur = 6 > N° Ligne ZR = 2

    Dois je me servir du N° de ligne ZR pour agir sur un combo/ligne précisément sélectionné


    Merci d'avance
    Personne ne sait faire !!!!!!!!!!!!!!!!

    Bon ben çà n'est pas satisfaisant mais voilà ce que je vais faire pour ne pas ouvrir le combo intempestivement :

    Nom : x.jpg
Affichages : 436
Taille : 42,0 Ko

    Je désactive mon combo et le réactive par un double clic.
    Dès que j'ai sélectionné une ligne du combo ou que je choisis une autre ligne de la zone répétée, je le désactive à nouveau.

    Je ne ferme pas le post car il y a sans doute mieux !
    La patience est d'or, l'aide est inestimable ...

  9. #9
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut Ouverture de combo intempestive
    Bonjour à tous,

    Voici la solution fonctionnelle et sans interaction sur les événements pour ne pas dérouler le combo à sa sélection mais uniquement au 2ème clic.
    Tout d'abord, on efface les lignes de codes de ma précédente speudo solution et on oublie !

    1ère solution :
    - Merci à Bertrand de m'avoir mis sur la piste ...
    - Pour ne plus ouvrir instantanément le combo lors de sa sélection, on peut cocher dans l'onglet Détail "Combo avec saisie" et le tour est joué (ATTENTION, nouvelle saisie possible bien sur).

    2ème solution :
    - En ce qui me concerne, je ne voudrais pas avoir de nouvelle saisie possible mais uniquement une sélection lors de mon ouverture de combo
    - Donc,
    1°) on cochera "combo avec saisie"
    2°) on ira décocher les options encore cochées "saisie assistée" et "avec sélection en affichage"
    3°) on décochera "combo avec saisie"

    ET le tour est joué

    Ces options agissaient malgré que "Combo avec saisie" soit décochée
    Nom : x.jpg
Affichages : 453
Taille : 49,2 Ko

    Bref, Quand on a trouvé c'est toujours simple
    La patience est d'or, l'aide est inestimable ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/02/2014, 22h11
  2. [WD14] Ouverture liste Combo vers le haut?
    Par xsat310bs dans le forum WinDev
    Réponses: 4
    Dernier message: 19/07/2010, 08h33
  3. [WD14] Annuler ouverture de combo
    Par Bowen dans le forum WinDev
    Réponses: 4
    Dernier message: 26/03/2010, 14h31
  4. Ouverture combo voir les éléments
    Par crassetph dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/08/2008, 13h11
  5. Ouverture de la liste du contenu d'un Combo lors du focus
    Par Riko dans le forum Composants VCL
    Réponses: 6
    Dernier message: 21/08/2003, 08h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo