![]() |
Onclick event bei schnellen klicken
Hallo,
bei einen klick auf ein image soll sich das image ändern. Allerdings lösen desöftern zwei schnelle klicke hinterander das ereignis nicht aus. Ich dachte, dass es womöglich am doublebuffer lägen könnte. Tat es nicht. Ich dachte, dass es womöglich daran liegt, das nur, dass on dblclick ereignis ausgelöst wird. Darum habe ich vom dblclck ereignis Zweimal das Onclick ereignis direkt(verurteilt mich nicht) aufgerufen.
Code:
Es half nicht.
procedure TForm1.img_placeholderDblClick(Sender: TObject);
begin img_placeholderClick(sender); img_placeholderClick(sender); end; Woran könnte es liegen? |
AW: Onclick event bei schnellen klicken
Klappt doch ganz hervorragend
Delphi-Quellcode:
Eventuell möchtest du aber auch einen ganz anderen Event benutzen :)
procedure TForm1.Label1Click( Sender: TObject );
begin TuWas( 'Click' ); end; procedure TForm1.Label1DblClick( Sender: TObject ); begin TuWas( 'DblClick' ); end; procedure TForm1.TuWas( const AStr: string ); begin ListBox1.ItemIndex := ListBox1.Items.Add( AStr ); end;
Delphi-Quellcode:
procedure TForm1.Label1MouseUp( Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer );
var LMouseOverControl: Boolean; begin LMouseOverControl := (Sender as TControl).ClientRect.Contains( TPoint.Create( X, Y ) ); TuWas( Format( 'MouseUp (%s)', [BoolToStr( LMouseOverControl )] ) ); // Maus befindet sich beim loslassen noch auf dem Control ... if LMouseOverControl and ( Button = mbLeft ) then // dann begin // Jetzt die "Klick"-Aktion auslösen end; end; |
AW: Onclick event bei schnellen klicken
Zitat:
Wenn es bei der "Änderung" zum Beispiel neu erstellt wird und Du in diesem Moment darauf klickst, dann ist dort in dem Moment aber gerade kein Objekt welches reagieren könnte. |
AW: Onclick event bei schnellen klicken
Windows legt doch in der "Warteschlange" für das Programm ein "Mausklick an Koordinate X|Y zum Zeitpunkt abc" ab. Wenn das Programm dann wieder reagiert arbeitet es diese Warteschlange weiter ab. Daher sollte doch eigentlich nichts verloren gehen, oder?
|
AW: Onclick event bei schnellen klicken
Zitat:
|
AW: Onclick event bei schnellen klicken
Zitat:
|
AW: Onclick event bei schnellen klicken
Aber wer sollte das tun? Und warum?
|
AW: Onclick event bei schnellen klicken
Danke für eure Antworten.
Ich benutze Turbo delphi. Hier ein link zur Datei (sollte sich jemand traun): ![]() Ich weis einfach nicht woran das liegt :( |
AW: Onclick event bei schnellen klicken
Was möchtest du damit ausrechnen? :gruebel:
Delphi-Quellcode:
gesuchtefarbe[i] := Trunc(Random()*5+1);
|
AW: Onclick event bei schnellen klicken
Er wird nicht "verschluckt", sondern wird früher ausgeführt ... Mitten innerhalb eines anderen Ausführungspfades.
Das kommt besonders geil, wenn man globale Variablen benutzt. 0 + 1 = 1 Aber klickt hier mal doppelt :stupid:
Delphi-Quellcode:
...
private FCount: Integer; end; procedure TFormWendat.Button1Click(Sender: TObject); var i: Integer; begin FCount := 0; for i := 1 to 50 do begin Application.ProcessMessages; Sleep(100); end; FCount := FCount + 1; Button1.Caption := IntToStr(FCount); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz