Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Beim gedrücktem Button hochzählen lassen, bis ich loslasse (https://www.delphipraxis.net/30859-beim-gedruecktem-button-hochzaehlen-lassen-bis-ich-loslasse.html)

valon 30. Sep 2004 10:34


Beim gedrücktem Button hochzählen lassen, bis ich loslasse
 
Hallo Ich brauche eure Hilfe.

Ich will das wenn ich einen Button gedrückt halte , das er anfängt langsam nach oben zu zählen , und wenn ich wieder loslasse das zählen wieder aufhört. Der Status des Zählers soll in einem Edit.text feld angezeigt werden.
welche Erreignisroutine muss ich da wählen? etwa OnMouseDown()?
Ich hoffe ihr habt es grob verstanden können was ich meine.

danke

Sharky 30. Sep 2004 10:38

Re: Beim gedrücktem Button hochzählen lassen, bis ich loslas
 
Hai valon,

der Gedanke von Dir ist schon richtig. Mache es mit einem Timer und dem .OnMouseDown bzw. OnMouseUp Ereigniss:
Delphi-Quellcode:
var
 zaehler : Integer = 0;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Timer1.Enabled := False;
  Timer1.Interval := 500;
  Timer1.Enabled := True;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Timer1.Enabled := False;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Inc (Zaehler);
  Label1.Caption := IntToStr (zaehler);
end;

valon 30. Sep 2004 10:47

Re: Beim gedrücktem Button hochzählen lassen, bis ich loslas
 
Danke für die schnelle Antwort . werde es gleich mal ausprobieren.
Danke nochmal

Matze 30. Sep 2004 10:52

Re: Beim gedrücktem Button hochzählen lassen, bis ich loslas
 
Ich würde es auch mit einem Timer lösen, nur braucht es beim ersten enablen etwas, mit der Timer anspringt.

Darum würde ich den Timer zu Beginn einmal aktivieren und dann wieder deaktivieren, dass es sich sozusagen im Stanby befindet und sofort bereit ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 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