![]() |
Re: eine Aktion solange ausführen, wie Maustaste gedrückt is
Das hier funktioniert bei mir auch ohne Timer oder Thread.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); procedure Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private-Deklarationen } FDown: Boolean; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Zahl: Cardinal; begin Zahl := 0; FDown := true; while FDown do begin inc(Zahl); Label1.Caption := Format('%d',[Zahl]); Application.ProcessMessages; end; end; procedure TForm1.FormCreate(Sender: TObject); begin FDown := false; end; procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FDown := false; end; end. |
Re: eine Aktion solange ausführen, wie Maustaste gedrückt is
[quote="BAMatze"]
Zitat:
Delphi-Quellcode:
Zur Erklärung: Die Zeile iErr := MMC_sendCommand('MR100'); ist eine Befehlszeile zur Steuerung eines Motors. Also die auszuführende Anweisung (solange die Maustaste gedrückt ist), um die es ging.
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin Timer2.Enabled := true; end; procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Timer2.Enabled := false; end; procedure TForm1.Timer2Timer(Sender: TObject); begin Timer2.Interval := (50); iErr := MMC_sendCommand('MR100'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 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-2025 by Thomas Breitkreuz