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 :

désactivation de la molette de la souris sur un champ combo


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 9
    Points
    9
    Par défaut désactivation de la molette de la souris sur un champ combo
    salut
    je voudrais désactiver l'effet de molette de souris sur un champ combo, car cela m’empêche d'utiliser l'ascenseur de la fenêtre.
    lorsque je parcours la fenêtre , ce sont les valeurs de la combo qui changent
    j'espere que la question est suffisamment claire car je ne maîtrise pas bien la langue française
    merci d'avance

  2. #2
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    C'est parce que ton champ combo est toujours en sélection et en focus, regarde du coté de Donnefocus() pour donner le focus à ta fenetre au lieu de ton combo.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    merci pour votre réponse
    mais ça ne marche pas ,j'ai donné le focus a la fenêtre mais le problème existe toujours

  4. #4
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Regarde du coté d'Ecranpremier(), pour que le premier champ sélectionné ne soit pas la combo.

  5. #5
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    730
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 730
    Points : 1 648
    Points
    1 648
    Par défaut
    Vous devez donner le focus à un champ, et non à la fenêtre.
    DonneFocus intervient immédiatement, il est déconseillé en règle générale.
    EcranPremier donne le focus dès que le programme sort de votre code (retour à l'IHM)

    Si vraiment vous voulez désactiver la roulette pour un champ, rajoutez un code "Roulette souris" (cliquez sur le bouton "..." en dessous du code, à droite des icônes représentant une souris).
    Dans ce code, renvoyez une valeur, ça permet de ne pas exécuter le code de WinDev pour cet événement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Roulette souris (WM_MOUSEWHEEL)
    RENVOYER 0

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    bonjour
    j'ai essayé avec vos idées mais ça ne marche pas ,alors j'ai rendu la combo invisible et ça ne marche pas non plus ,j'ai testé le déroulement de l’ascenseur de la fenêtre(mere) autrement mais c'est aussi un échec ,alors j'ai fini par conclure que le problème venait de la fenetre mais comment le résoudre ?
    je n'ai pas trouvé la solution !!

  7. #7
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    quel est ton premier champ dans l'ordre de navigation ?

  8. #8
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    730
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 730
    Points : 1 648
    Points
    1 648
    Par défaut
    Citation Envoyé par mechi Voir le message
    bonjour
    j'ai essayé avec vos idées mais ça ne marche pas ,alors j'ai rendu la combo invisible et ça ne marche pas non plus ,j'ai testé le déroulement de l’ascenseur de la fenêtre(mere) autrement mais c'est aussi un échec ,alors j'ai fini par conclure que le problème venait de la fenetre mais comment le résoudre ?
    je n'ai pas trouvé la solution !!
    Et vous avez essayé le code dans WM_MOUSEWHEEL ?
    Je l'ai testé, ça marche.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Hibernatus34 Voir le message
    Et vous avez essayé le code dans WM_MOUSEWHEEL ?
    Je l'ai testé, ça marche.
    Tout d'abord merci,
    Au début mon problème était que l’ascenseur de la fenêtre n’était pas en phase avec la molette de la souris.
    Lorsque j'utilise la molette, ce sont les valeurs de la combo qui changent.
    J'ai donc eu l'idée de la désactiver pour le champ combo.
    Après avoir supprimé la combo, j'ai constaté que le problème était toujours là,
    et que la molette n'a aucun effet sur la fenêtre.
    Donc en résumé, mon problème c'est que l'utilisation de la molette n'a aucun effet sur la fenêtre.
    Bonne journée

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par J0r_x Voir le message
    quel est ton premier champ dans l'ordre de navigation ?
    bonjour,
    je suis encore débutant
    J'ai une fenêtre qui contient des champs de saisie (qui ne sont pas en saisie),une table,et des libellés.
    Mais je ne sais pas quel champ est le premier, je n'ai pas estimé nécessaire de déterminer un ordre de navigation (je pense que l'ordre de navigation est intéressant si on traite une fenêtre fiche ? non ? )

  11. #11
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    730
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 730
    Points : 1 648
    Points
    1 648
    Par défaut
    Ah d'accord, je n'avais pas compris qu'il fallait scroller la fenêtre.
    C'est donc une fenêtre avec des barres de défilement ?
    Il faut donner le focus à un champ qui ne gère pas la roulette, ou bien mettre ce code dans le WM_MOUSEWHEEL de la combo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PostMessage(Handle(MaFenêtre), _EVE.wMessage, _EVE.wParam, _EVE.lParam)
    RENVOYER 0

  12. #12
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Oui si les utilisateurs utilisent la touche Tabulation, ils se déplaceront selon l'ordre définit pour la fenêtre.
    Pour voir l'ordre tu va dans le menu fenêtre -> Ordre de navigation.
    Si ta combo est en premier, lors de l'ouverture de la fenêtre le curseur se place dessus et donc la molette de la souris commande la combo et non la fenêtre.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    bonjour
    dabord merci pour la passion de tous les intervenants sur ce sujet
    j'essaie de vous expliquer au mieux :
    j'ai une fenêtre mère "Fen_Mere" (ne contient que des boutons) ,à chaque fois j'ouvre une fenêtre fille de taille assez grande ,l'"assenceur" de la fenetre mère apparait pour que je puisse derouler la fenetre fille à travers le "roulement" de la molette de la souris mais la molette n'a pas d'effet sur l’ascenseur .
    a propos de la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PostMessage(Handle(FEN_Mere), _EVE.wMessage, _EVE.wParam, _EVE.lParam)
    RENVOYER 0
    j'ai essayé de le remplacer dans tous les champs mais ca marche pas, aussi j'ai créé une fenêtre de grande taille sans champs mais le probleme existe encore ...
    bonne journée

  14. #14
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    730
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 730
    Points : 1 648
    Points
    1 648
    Par défaut
    Vous auriez pu préciser dès le départ que c'était une fenêtre MDI.
    Quoi qu'il en soit, ça fonctionne sur mon poste, MDI ou pas.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 14
    Points
    14
    Par défaut
    C'est exactement ce que je cherchais.

    Merci beaucoup.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 14
    Points
    14
    Par défaut
    Je viens d'améliorer car le fait de renvoyer 0 dans le code de la molette bloque aussi la molette lorsque la combo est déroulée, ce qui entraine qq petits soucis pour faire défiler. Voici mon amélioration:

    Déclarations globales de maFenêtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gRoulette est un booléen
    // De cette manière c'est utilisable pour toutes les combos de la fenêtre
    Ouverture de la liste déroulante de maCombo
    Fermeture de la liste déroulante de maCombo
    Roulette Souris (WM_MOUSEWHEEL) de maComobo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF NOT gRoulette THEN
    	RENVOYER 0
    END
    En procédant comme ceci, la molette est inactive sur la combo tant qu'elle n'est pas déroulée, si elle est déroulée, la molette redevient active, une fois la valeur changée (ou pas) et le déroulant fermé, la molette redevient inactive.

Discussions similaires

  1. Désactivation mouvement sur la carte via la molette de la souris
    Par kintha dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 20/01/2015, 13h20
  2. Réponses: 3
    Dernier message: 12/10/2009, 21h57
  3. interdir le clique droit de la souris sur un champ
    Par john_wili dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/08/2009, 16h04
  4. Désactiver molette de la souris : besoin d'aide sur le code
    Par fanico11 dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/05/2008, 17h53
  5. Réponses: 3
    Dernier message: 25/10/2007, 20h41

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