Bonsoir à tous, j'aurai voulu savoir si il est possible d'effectuer un evenement OnDoubleClick sans effectuer un évènement OnCellClick et si oui comment faire ? Merci.
Bonsoir à tous, j'aurai voulu savoir si il est possible d'effectuer un evenement OnDoubleClick sans effectuer un évènement OnCellClick et si oui comment faire ? Merci.
Salut, je suis déçu que personne ne puisse m'apporter son aide, j'aurai pourtant pensé que c'était quelquechose d'assez basique...
Mon problème est ke lorsque je double clique sur un enregistrement dans une DBgrid j'ai une action qui s'execute et lorsque je fé un simple click j'ai une autre action (en l'occurence l'execution d'une requête assez importante). Du coup l'action qui doit survenir suite au Double click met du temps à arriver (le temps ke la requête traitée par l'évènement simple click s'exécute), j'aurai simplement voulu savoir comment empêcher ça, c'est vraiment important et je remercie d'avance celui qui pourra m'aider...
J'ai bien peur que le composant DBGrid ne soit pas concu pour traiter comme il se doit le OnDblClick.
D'ailleurs, tu vas bien t'embeter pour savoir dans quelle cellule tu viens de faire un double clic.
Je crois même que l'on ne passe pas dans l'évenement OnDblClick lorsqu'on double clic sur une céllule, cela se passe uniquement lorsque l'on clic sur la grille mais hors des cellule.
Solution, tu utilise un autre procédé.
Remarque : Si un clic sur une cellule provoque un traitement long, tu ne crois pas que l'utilisateur va être un peu gavé à force d'attendre à chaque clic...
Le traitement tu ferais mieux de le traiter par un bouton qui se dégrise quand tu selectionnes une cellule.
Voilà, bon courage.
bonjour
jai rien compri a ta question essai de donner plus d'information
Bonjour,
Pour tous les composants delphi le systeme est le systeme windows.
Si je fais un double click, j'ai les événements suivants (dans l'ordre).
Click
click
Doubleclick
Si je veux eviter les 2 click avant le double click, je dois "bidouiller" un systeme a base de timer.
sur l'évenement OnClick
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Timer := False; // (pour reinitialiser le timer) Timer := True;
sur l'évenement OnDblClick
Sur le Ontimer du timer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Timer := False; .. code du bouble click
Pour l'interval du Timer j'utilise personellement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Evenememnt du click
Je sais, c'est lourd. Mais je n'ai rein trouvé d'autre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GetProfileInt('Windows', 'DoubleClickSpeed', 90) + 10; // temps du double click + 10 millisecondes
Salut,
Ce qu'il voulait dire c'est que au lieu d'utiliser un évènement OnCellClick, tu utilise un bouton qui réalise ton traitement...En gros tu essaye de modifier ta logique si possible, mais ça va sut=rtout dépendre de ce que tu souhaite faire.
A+.
Le coup du Timer peut effectivement être une bonne alternative.
Au lieu de code, je vais compléter l'algo de Jean Francois par le principe de fonctionnement.
Dans se fonctionnement le Timer devient une simple minuterie.
- Un timer est configuré pour se déclencher toutes les secondes.
- Et il est désactivé à sa création.
- Lors du premier clic, tu désactive puis tu lances le timer. (RAZ)
- Tu as alors une seconde pour refaire un clic avant que le timer rentre dans son "OnTimer".
- Si tu reclic assez vite et que le Timer est actif, tu désactive le timer c'est un doubleclick.
- Si le Timer déclenche son OnTimer, c'est que tu voulais cliquer qu'une seule fois. le traitement dans le OnTimer lance ton traitement long.
J'ai l'impression que mon explication va t'embrouiller plus que t'aider à comprendre...
![]()
j'ai fait un label qui bouge au long d'une fenètre de gauche a droite
mais la vitesse n'est pas bien est ce que le problème :que j'ai utiliser deux timer en meme temps une pour un label et l'autre pour l'heure(now)![]()
Réponse pour Mamou
Bonjour,
Cela peut venir des timer, ou simplement de la gestion des messages par windows.
Essayer de fair Label.Update apres avoir modifier Label.Caption
Merci à tous pour ces réponses, évidémment j'avais penser au bouton plutôt qu'au double click mais je préferais le double click et voilais simplement savoir si c'était possible de désactiver le OnClickCell lorsqu j'effectue un OnDBClick mais vous avez répondu à ma question : CE N'EST PAS POSSiBLE sauf en jouant sur les timer (et jambonstarne t'en fais pas ton explication était très claire)
Merci à tous de vous êtes penché sur la question et à bientôt.
Partager