![]() |
procedure unterbrechen bzw nicht auslösen
Guten Morgen,
wie kann man eigentlich verhindern, dass eine procedure ausgelöst wird? Konkreter: Ich klicke mit der Maus auf ein Panel und löse beim Mousedown Ereignis diverse Dinge aus. Nun lasse ich die Taste los und habe in diesem Ereignis auch diverse Dinge. So, nun möchte ich aber evtl. die Taste loslassen und das Mouseup-Ereignis nicht auslösen. Zum Beispiel mit der ESC-Taste die Aktion unterbrechen. Vielen Dank schonmal |
Re: procedure unterbrechen bzw nicht auslösen
Du möchtest deine Mouse-Clicks genauso abbrechen können wie eine Drag & Drop Operation? Vielleicht so:
Delphi-Quellcode:
Allerdings musst du da noch ein paar Sonderlocken stricken, wenn du einen Cancel-Button auf der Form hast.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TDemoForm = class(TForm) cbxMouseIsDown: TCheckBox; procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormKeyPress(Sender: TObject; var Key: Char); private MouseIsDown: boolean; end; var DemoForm: TDemoForm; implementation {$R *.dfm} procedure TDemoForm.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin MouseIsDown := true; // actions end; procedure TDemoForm.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if MouseIsDown then begin // actions MouseIsDown := false; end; end; procedure TDemoForm.FormKeyPress(Sender: TObject; var Key: Char); begin if MouseIsDown then if Key = Chr(VK_ESCAPE) then begin MouseIsDown := false; Key := #0 end; end; end. Grüße vom marabu |
Re: procedure unterbrechen bzw nicht auslösen
Moin,
einfacher wäre wenn der Zustand der Escape-Taste innerhalb der MouseUp-Events überprüft würde. Sollte weniger Seiteneffekte haben. mfg wo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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