![]() |
Button abfrage
Hi Leute
Ich hoffe das ich hier richtig bin.? Versuche folgendes Problem zu lösen. So lange ein Button gedrückt ist, soll ein Berechnung durchgeführt werden, wenn der Button wieder losgelassen wird, wird die Berechnung beendet. mit den Onclick oder onMouseDown geht es ja nicht. muss ja ständig neu gedrückt werden!! Gruss ALf |
Re: Button abfrage
Vielleicht solltest du über einen event-orientierten Ansatz nachdenken (Drücken = Start, Loslassen = Stop).
|
Re: Button abfrage
Versuchs so:
OnMouseDown: Berechnung starten OnMouseUp: Berechnung beenden PS: bitte das Doppelte Thema wieder löschen! |
Re: Button abfrage
Moin,
was spricht gegen "OnKeyDown" und "OnKeyUp". Dafür gibts doch auch schon fertige Eventhandler. beim Down wird berechnung begonne und bei Up selbige beendet. gruss ich |
Re: Button abfrage
Hi
danke für die Schnellen Antworten, aber komischerweise funct nichts davon hiehr mein Code;
Delphi-Quellcode:
muss trotzdem immer wieder neu klicken!!
procedure TForm1.BitBtn5MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var len:dword; zt: longint; begin btime:=btime-100; ....... ....... end; Gruss Alf |
Re: Button abfrage
Klar. Auch Mousedown und Mouseup werden nur einmal aufgerufen. Du musst beim Mousedown einen Timer, Schleife oder ähnliches starten, in der du die eigentliche Funktionalität aufrufst und bei Mouseup stoppst du den Timer, Schleife, wasweissich.
|
Re: Button abfrage
Hi
Habs gleich mal ausprobiert!!!??? kann aber nur ne Notlösung sein, wegen des .Intervals muss man ganz schön Exp. um evtl das richtige Verhältniss festzustellen. Und in der Praxis dann???? Gruss Alf |
Re: Button abfrage
Zitat:
Delphi-Quellcode:
var StoppBerechnung: Boolean;
procedure TForm1.StartBerechnung; begin repeat //... Berechnung //... Application.ProcessMessages; until StoppBerechnung; end; procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin StoppBerechnung := False; StartBerechnung; end; procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin StoppBerechnung := True; end; |
Re: Button abfrage
Hi
ist ne gute Lösung!! Danke Gruss Alf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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