Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Doppelklick verhindern bzw. zu Einfachklick umbiegen (https://www.delphipraxis.net/90576-doppelklick-verhindern-bzw-zu-einfachklick-umbiegen.html)

litotes 19. Apr 2007 20:46


Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
Hallo,

ich schreibe ein - mittlerweile recht umfangreiches - Programm für, ..ähm... :-D , Anfänger (oder besser: DAUs ).

Nun will ich verhindern, dass die wie wild auf meinen Buttons doppelklicken statt einmal klicken.

Offensichtliche Lösung: Ich weise jeder Schaltfläche ein onDblclick Ereignis zu.
Aber: Das sind mittlerweile mehrere Hundert...- da sitze ich ja Stunden bzw. Tage :?

Geht das auch eleganter? So dass jeder Doppelklick in einen Einfachklick umgewandelt wird?


Danke schon mal für eure Hilfe!

litotes

mkinzler 19. Apr 2007 20:47

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
Du kannst ja die selbe Ereignisroutine nehmen.

bttb930 19. Apr 2007 20:49

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
oder bau dir einfach eine eigene komponente TMyButton die du von TButton ableitest und die bei OnDblClick automatisch OnClick aufruft. Wie das geht (Komponente bauen und registrieren) findest du garantiert als tutorial hier im forum.

litotes 19. Apr 2007 20:53

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
Hi,

ähm, für die eigene Komponente ist es jetzt doch wohl zu spät - die vielen hundert Buttons sind
ja schon als TButtons drin, oder seh ich das falsch??

Zitat:

Du kannst ja die selbe Ereignisroutine nehmen.
Versteh ich jetzt nicht. Kannst du das erläutern?


Danke

Litotes

mkinzler 19. Apr 2007 20:54

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
Eine Methode, welche du allen Button für Click und Doppelklick zuweist. Den gedrückten Button erhäls du im Parameter Sender.

litotes 19. Apr 2007 21:00

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
Hallo,

ach so, verstehe:

d. h. unter jedem einfach und doppelklick-Ereignis steht dann:
macheinfachklick();

Aber dann muss ich ja doch in jeden Button reingehen -
komm ich wohl nich drum rum, oder?

Litotes

mkinzler 19. Apr 2007 21:00

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
Oder per Routine.

stz 20. Apr 2007 15:25

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
TButton hat OnDblClick von TComponent gar nicht implementiert. Daher wird bei einem Doppelclick auch zweimal OnClick ausgelöst. Bei anderen Controls, die OnDblClick implementiert haben, wird bei einem Doppelclick auch nur einmal OnClick ausgelöst. Es führt also vermutlich kein Weg dran vorbei eine eigene Ableitung von TButton zu schreiben.

Gruß
Malte

SirThornberry 20. Apr 2007 15:33

Re: Doppelklick verhindern bzw. zu Einfachklick umbiegen
 
du kannst auch eine Ableitung machen ohne alles auf deiner Form ändern zu müssen! Dazu musst du nur deine Klasse von TButton ableiten und auch TButton nennen. Dann fügst du deine unit hinter StdCtrls in die Uses ein (oder ganz ans ende) und schon wird deine TButtonKlasse verwendet


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz