PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → interdire la roulette de la souris
interdire la roulette de la souris
Débuté par P. Domi, 26 sep. 2006 10:45 - 6 réponses
Posté le 26 septembre 2006 - 10:45
Bonjour,

Ayant des gros problémes dans mes listes déroulantes lorsque l'utilisateur utilise la roulette de souris, j'aimerai pouvoir la désactievr au lancement de mon appli et la réactiver à la fermeture.

Je n'ai malheureusement pas trouvé comment inhiber la molette de la souris, quelqu'un aurait t'il la soluce ???

Merci d'avance.
Posté le 26 septembre 2006 - 12:07
Bonjour,

Sans aller jusqu'à désactiver la molette tu peux probablement intercepter l'évenement qui correspond à l'action de la roulette sur ta liste et renvoyer une valeur de façon à ne pas traiter cet evenement en sortie de ta procédure.

Cet évenement est

WM_MOUSEWHEEL = 0x020A

Cela dit, je ne trouve pas cela très sympa comme manip, probablement vaudrait il mieux régler ton problème sur la liste, plutôt de le masquer.

Tiens-nous au courant.

A+
--
Francis MOREL
Posté le 26 septembre 2006 - 13:57
merci pour l'info,

mais le probléme est, qu'il est existant sur toutes les listes déroulantes de mon appli, et en cherchant sur le forum je m'apperçois que je ne suis pas le seul car d'autre on le même probléme avec les tables.

Ou si quelqu'un à une astuce pour ne pas monter plus haut (ou plus bas) que le début de liste ???

Merci
Posté le 26 septembre 2006 - 14:45
Re,

>mais le probléme est, qu'il est existant sur toutes les listes déroulantes de mon appli

Mais rien ne t'empêche de gérer cet événement sur tous les champs de toutes les fenêtres, puis dès réception de tester si c'est une liste ou une table et seulement dans ce cas renvoyer une valeur .
Ca se fait en quelques lignes de code pour toutes tes listes, par exemple

dans le code d'initialisation du projet

WM_MOUSEWHEEL est un entier = 0x0204
Evénement("gRoulette","*.*",WM_MOUSEWHEEL)

et comme procédure globale

PROCEDURE gRoulette(iMessage, wParam, lParam)
SELON MoiMême..Type
    CAS typListe
_EVE.Retour=Vrai
CAS typTable
_EVE.Retour=Vrai
FIN

devrait marcher (pas tester).

Tu peux même dans ce cas tester le nom, contenu, index... de ta liste pour différencier les traitements.

A+
--
Francis MOREL
Posté le 26 septembre 2006 - 15:25
Bonjour

Le plus simple pour désactiver la roulette d'une table est de pratiquer
de la façon suivante :

-1- Cliquer dans la table avec le clic droit de la souris
-2- Afficher le code en cliquant dans le menu Code
Dans le bas de la fenêtre il existe une dizaine de petites icones en
forme de souris : ( afficher les bulles en les survolant, la dernière à
droite est celle de la roulette de la souris .. juste avant les icones
des touches )
-3- Cliquer sur l'icone Roulette de la souris : Windev crée un
paragraphe de code intitulé "Roulette souris ...."
-4- Ecrire RENVOYER Faux dans ce paragraphe

Résultat : Le fonctionnement de la roulette est désactivé

Voilà c'est aussi simple que celà !

Cordialement

--
Elle est pas belle la vie ?
Membre enregistré
15 messages
Posté le 16 novembre 2019 - 22:47
Merci pour cette astuce Georges... 13 ans plus tard, ça marche à merveille!

--
www.ibfolio.com
Membre enregistré
56 messages
Posté le 26 mars 2020 - 21:12
Merci mille fois Georges .. 2 ans que j'ai ce petit problème, résolu en 2 secondes grâce à Georges. :merci: