PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → interdire la roulette de la souris
interdire la roulette de la souris
Iniciado por P. Domi, set., 26 2006 10:45 AM - 6 respostas
Publicado em setembro, 26 2006 - 10:45 AM
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.
Publicado em setembro, 26 2006 - 12:07 PM
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
Publicado em setembro, 26 2006 - 1:57 PM
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
Publicado em setembro, 26 2006 - 2:45 PM
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
Publicado em setembro, 26 2006 - 3:25 PM
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 ?
Membro registado
70 mensagems
Popularité : +1 (1 vote)
Publicado em novembro, 16 2019 - 10:47 PM
Merci pour cette astuce Georges... 13 ans plus tard, ça marche à merveille!

--
www.ibfolio.com
Membro registado
80 mensagems
Popularité : +4 (4 votes)
Publicado em março, 26 2020 - 9:12 PM
Merci mille fois Georges .. 2 ans que j'ai ce petit problème, résolu en 2 secondes grâce à Georges. :merci: