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
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|