Accueil > Forum > > > > Différencier le simple du double clique sur un Component
Différencier le simple du double clique sur un Component
jeudi 2 octobre 2008 à 12:08:26 |
Différencier le simple du double clique sur un Component

RURUInc
|
J'ai parcouru pas mal de forum et commentaire divers.
Ma problématique : Pouvoir différencier sur un TPanel le clique du double clique
J'ai un évenement OuMouseDown (qui me permet d'initialiser l'evenement OnMousemouve) et divers recherche dans des base de donnés + quelques autres paramétres. J'ai également l'evenement OnDblCLick sur ce panel qui me permet d'ouvrir une fenêtre (une form)
Lorsque je doubleclique ma fenetre s'ouvre bien, mais à la fermeture il réalise l'évenement OuMousedown.
Je n'arrive pas à empecher d'aller dans l'evenement OuMouseDown lorsqu'il y à un Double clique.
Apparement j'ai pu voir des commentaires sur l'evenement WM_LBUTTONDBLCLK de windows ou l'on pourrais detecter le double clique en comparant le temps entre 2 cliques.
Mais je sais pas du tout comment m'y prendre. Il y à-t-il des spécialistes dans le coin ?
Merci.
|
|
jeudi 2 octobre 2008 à 13:17:40 |
Re : Différencier le simple du double clique sur un Component

L_art_ment
|
Cordial bonjour à toi également.. Différencier le clique du double-clique d'un Panel ? Bein utilise les evenement OnClick et OnDblClick, non ?
L'Armand joue, l'arme en joug... Mon site
|
|
jeudi 2 octobre 2008 à 17:32:59 |
Re : Différencier le simple du double clique sur un Component

Bacterius
|
Le TPanel est descendant de TCustomPanel, lui même descendant de TWinControl, qui descend de TControl. Voici un schema :
TObject // Contrôle de base de tous les objets existants
|
TPersistent // Classe persistente
|
TComponent // Composant (plutôt prendre ce type pour composant non-visuel)
|
TControl // Contrôle visuel (TGraphicControl pour composants graphiques)
|
TWinControl // Composant Windows
|
TCustomPanel // Classe de base TPanel
|
TPanel // Composant évolué TPanel
A partie de TControl, les composants descendants possèdent des évenements protégés OnClick, OnDblClick, OnMouseMove, OnMouseUp, OnMouseDown, etc ... automatiquement gérés. Tu n'as pas à t'en préoccuper.
Il suffit de les affecter correctement.
Cordialement, Bacterius !
|
|
samedi 4 octobre 2008 à 00:22:54 |
Re : Différencier le simple du double clique sur un Component

RURUInc
|
Bonjour,
Alors evidement il y a les deux evenement connu Onclick et doubleclique mais cela ne change pas ma problématique.
Je doit pouvoir redimensionner un panel par exemple, ou le mouvoir (moveandresaize) et en même temps pour faire un double clique pour ouvrir une form. Le problème c'est qu'apres le double clique, il retourne dans l'evenement Down et UP forcement. Et là je me chop une erreur. Car dans mon Down j'ouvre un query + calcul mathématique. Bref il ne faut surtout pas revenir dans mon down. Donc comment faire... a part pouvoir detecter un doubleclique dans levenement down pour lui dire de passer son chemin si double clique mais faire l'evenement down si simple clique pour le moveandresize.
|
|
samedi 4 octobre 2008 à 10:33:31 |
Re : Différencier le simple du double clique sur un Component

Bacterius
|
Ben, tu peux procéder de la façon suivante.
Tu déclares quelques variables globales Boolean.
Quand l'évenement OnDown est déclenché, tu fais par exemple :
BoolOnDown := True;
Pareil pour UP :
BoolOnUp := True;
Et dans DblClick :
BoolOnDown := False;
BoolOnUp := False;
Et dans un thread (ou autre evenement), tu checke ces 2 variables, et tu ouvres ton query si il y a besoin (comme ça tu n'es plus pris en traître par les evenements souris. Et lors d'un double-click, on remet tout ça à 0.
A toi d'adapter, je t'ai donné le truc, pas question de faire un copier-coller, réflechis à la technique et essaye de la mettre en oeuvre.
Cordialement, Bacterius !
|
|
samedi 4 octobre 2008 à 10:36:21 |
Re : Différencier le simple du double clique sur un Component

Bacterius
|
Sinon il existe une solution plus bâtarde :
Tu attends, lors d'un évènement OnDown, un certain temps (tu peux même récupérer le temps défini par l'utilisateur pour le double-click, voir API SystemParametersInfo), et si il ne reçoit pas un UP + un down + un UP dans un certain laps de temps, tu ouvres ton query, sinon tu ouvres ta form.
Mais c'est compliqué à gérer. (je préfère celle du haut !).
Cordialement, Bacterius !
|
|
Cette discussion est classée dans : clique, double, evenement, différencier, oumousedown
Répondre à ce message
Sujets en rapport avec ce message
Double clique sur un TPageControl [ par Indelphini ]
Bonjour j'ai une appli multi documents, les documents étant accessibles par les onglets d'un TPageControl. Un clique droit sur un onglet ouvre un menu
gerer l'evenement double clic sur un dbgrid [ par dereht ]
bonjour; je veux lorsque je fait un double clic sur un dbgrid et exatement sur une cellule j'aurai un lien sur le coin de cette celulle, et en cliquan
Vider en un seul clique et complètement le fichier correspondant à une table [ par AEC1 ]
Bonjours, est-ce qu'il me serais possible de connaître la procédure pour Vider en un seul clique et complètement le fichier correspondant à une table.
changer le text a chaque clic [ par hitman94440 ]
Bonjour a tous.... Je suis nouveau donc je suis le nul des nuls. Voila je veux faire sa: j'ai une texte1 et un bouton puis moi je veux que chaque fois
onresize d'un stringgrid [ par deubal ]
bonjour, je cherche a declencher un evenement lorsque l'utilisateur redimensionne les colonnes de ma stringgrid, j'ai beau chercher pas de procedure o
CLIC de SOURIS [ par selma-elec ]
Bonjour à tous.Après beaucoup de recherche, je n'ai toujours pas trouvé, alors je vous pose la question :Comment faire sur une image (Timage) pour det
[TSTringGrid] Rééxécuter l'evenement onDrawcell [ par gazier20 ]
Bonjour,voila mon problème:Je travaille sur StringGrid. Au lancement de mon programme, l'evenement ondrawcell se lance et dessine des trucs comme je l
listbox media player [ par ced55957 ]
bonsoir les developpeur!!!!Voila j'ai un petit souci!!!! j'ai créer un code qui importe mes musiques dans un listbox, je clique sur lecture la musique
Creation d'evenement [ par freinck ]
SalutJe débute en informatique, et je cherche à creer un evenement en fonction du changement d'une propriete. Pour etre plus clair je souhaite utilise
Evenement sur un Tshape créé [ par OhAime ]
Bonjour!Je suis débutant en delphi, et après avoir vu une source, je me pose une question!En fait je voudrais faire un jeu de bataille naval, mais mon
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [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
Forum
SAVEDIALOGSAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou
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
|