Accueil > Forum > > > > Comment détecter la fin d'activation de la molette ?
Comment détecter la fin d'activation de la molette ?
mardi 23 octobre 2007 à 11:56:36 |
Comment détecter la fin d'activation de la molette ?

geocad
|
Bonjour,
J'ai une petite appli dévellopée en Delphi 5, dans laquelle je fais un traitement rapide mais
provisoire quand on fait rouler la molette de la souris. Pour ça, c'est
OK, j'utilise OnMouseWheel(...) Mais le Hic, c'est que je dois faire un
traitement plus fin, dès qu' on arrête la manipulation de la molette.
Ce serait facile s'il existait un évènement qu'on pourrait appeler
"OnMouseWheelStop", mais voilà, j'ai pas trouvé, et je ne sais pas trop
comment faire pour détecter la fin de la manip de la molette.
Quelqu'un a-t-il une idée?
|
|
mercredi 24 octobre 2007 à 13:25:19 |
Re : Comment détecter la fin d'activation de la molette ?

geocad
|
Ca bouge pas beaucoup ici. Serait-ce à cause de la rentrée???
|
|
mercredi 24 octobre 2007 à 22:11:27 |
Re : Comment détecter la fin d'activation de la molette ?

Caribensila
|
Salut,
Tu voudrais faire un événement avec un non-événement, quoi.
Et tu t'étonnes que personne ne bouge? 
En fait, quand on fait rouler la molette, l'événement n'arrête pas d'arrêter et de recommencer...
|
|
mercredi 24 octobre 2007 à 22:48:37 |
Re : Comment détecter la fin d'activation de la molette ?

Caribensila
|
Essaie ça quand même :
if ssMiddle in Shift then begin Repeat
//Traitement rapide Application.ProcessMessages; until (GetAsyncKeyState(VK_MBUTTON) = 0
);//On teste l'état du bouton gauche.
//Traitement fin end;
|
|
mercredi 24 octobre 2007 à 22:55:01 |
Re : Comment détecter la fin d'activation de la molette ?

Caribensila
|
Bien sûr, il faut presser la molette pendant tout le temps du traitement rapide...
|
|
mercredi 24 octobre 2007 à 23:30:50 |
Re : Comment détecter la fin d'activation de la molette ?

Caribensila
|
Oups! ... ... //On teste l'état du bouton central. ...
Mille excuses
|
|
mercredi 24 octobre 2007 à 23:43:47 |
Re : Comment détecter la fin d'activation de la molette ?

geocad
|
Mon soi-disant non-évènement, n'appelait pas forcément une non-réponse. Je vais pas dire à ceux qui utilisent mon appli de presser un bouton pour signaler qu'on a fini de tourner la molette! Ca serait de la non-informatique... En tout cas le besoin que j'ai exprimé existe, et c'est même une solution élégante pour faire certains effets en DAO. Ma solution: Un timer avec un intervale de 100 milli sec var WheelOn : boolean = false; var wheeltime : TDateTime = 0.0; procedure TForme1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); begin TraitementProvisoireRapide; // WheelOn := true; Timer1.enabled := true; // Traitement Final dans OnTimer Handled := true; end;
procedure TForme1.Timer1Timer(Sender: TObject); begin // détection de la fin d'activation de la molette // pour se substituer à un évènement manquant: "OnMouseWheelStop" if WheelOn thenbegin WheelOn:=false; wheeltime := Now; exit; end; //ici la molette n'a pas été activée depuis Timer1.interval milli sec // On se donne un délai supplémentaire pour assurer if( Now - wheeltime ) >0.0000023thenbegin{200 milli sec (1 s = 0.0000115)} Timer1.enabled := false; wheeltime := 0.0; TraitementFinal; end; end;
Qui dit "mieux" ?
|
|
jeudi 25 octobre 2007 à 14:25:46 |
Re : Comment détecter la fin d'activation de la molette ?

Caribensila
|
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); begin if ssMiddle in Shift then begin Repeat
//...Traitement rapide... Application.ProcessMessages; Until (GetAsyncKeyState(VK_MBUTTON) = 0 );
//...Traitement final... end; end;
C'est concis, pas de Timer, pas de variables globales...
Qu'est-ce qui ne te plaît pas? Que l'utilisateur doive appuyer sur la molette centrale?
|
|
jeudi 25 octobre 2007 à 18:12:40 |
Re : Comment détecter la fin d'activation de la molette ?

geocad
|
Réponse acceptée !
Ben Oui
|
|
Cette discussion est classée dans : fin, traitement, détecter, activation, molette
Répondre à ce message
Sujets en rapport avec ce message
Détecter Fin de WindowsMediaPlayer [ par Also know as ]
Bonjour, Voilà je me renseigne pour savoir s'il était possible de détecter quand le lecteur Windows Media à fini de lire sa vidéo Je m'explique :
Détecter la fin de redimensionnement [ par Indelphini ]
Bonjour (bonsoir...) je voudrais bloquer la mise à jour de mon interface pendant le redimensionnement de la forme. Je sais détecter le début du redi
génératuer de nombre dans un memo [ par JackNUMBER ]
Bonjour !! Voici mon problème: j'ai un edit nommé debut, un autre nommé fin, un memo nommé memo1 et un dernier edit nommé structure. Dans le medit deb
Comment utiliser l'instruction "Goto"? [ par Manthis ]
Salut,Je voudrais savoir comment utiliser l'instruction Goto.Je sais qu'en VB il suffit de faire:Goto Fin...(et plus loin dans le code)...Fin: instruc
pb de Query [ par JesseJames ]
Salut,Voilà mon problème, j'ai une application Delphi liaison avec base de données Access. Pour afficher mes données, j'extrait les données dans Query
Comment avoir ma cle d'activation de delphi 6 personel [ par apz ]
Salut a tous, Pour avoir ma cle d'activation j'ai visité trois fois le site de borland (lieu public et pas de machine) et a chaque fois il m'envoit to
Ini : Saut de ligne à la fin d'une section [ par Bruto ]
Salut,Je recherche une petite astuce :Je manipule des fichiers ini et je voudrais séparer chaque section ( [Key] ) par un saut de ligne.J'ai essayer d
comment détecter un son [ par Bruto ]
Je voudrais détecter si l'utilisateur joue un son, une musique sur son pc.Par ex, détecter s'il écoute un mp3 avec winamp, ou mediaplayer, ...Y a-t-il
TServerSocket en Multithread [ par Cyrille2 ]
Salut... je bloque à mort sur un bug... en faite, impossible de lire le socketstream voila la procédure : Code: procedure TServerThread.ClientExecute;
Expressions régulières [ par DiableHautain ]
Bonjour tout le monde,Simple petite question:Peux-t-on utiliser des expressions régulières en Delphi (à la manière de VBScript ou JScript), afin de re
Livres en rapport
|
Derniers Blogs
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|