![]() |
Form1.KeyUp problem
Delphi-Quellcode:
mein problem hier ist, dass beim Form1.FormKeyUp Form1.Color nicht wieder hergestellt wird. heisst sozusagen Shift enthaelt ssCtrl nicht, aber warum, bei keydown geht das.
procedure TForm1.FormCreate(Sender: TObject);
begin KeyPreview := True; FormColor := Form1.Color; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if ssCtrl in Shift then Form1.Color := clAqua; end; procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if ssCtrl in Shift then Form1.Color := FormColor; end; |
AW: Form1.KeyUp problem
Wo ist das Problem?
Wenn die [Strg]-Taste gedrückt wird, wird das Form blau, wenn die Bstb-Taste losgelassen wird, dann wird wieder "zurück gefärbt! (D2006) Gruß K-H |
AW: Form1.KeyUp problem
Wenn du die Crtl Taste loslässt, ist die Bedingung ja nicht mehr wahr. Es muss also heißen:
if not (ssCtrl in Shift) then Form1.Color := clBtnFace; Grüße |
AW: Form1.KeyUp problem
Dann darf die STRG-Taste aber nicht gedrückt sein. Wieso nicht einfach
Delphi-Quellcode:
:?:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin Color := FormColor; end; |
AW: Form1.KeyUp problem
danke sehr
so Ich hab es nun so ausprobiert, mit Ctrl klappts wunderbar, bei Alt Taste geht bei 2. druecken nicht wie bei 1.mal, zweites mal druecken muss die alt taste laenger gedrueckt halten, bis es die farbe aendert warum ist das so??
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if ssAlt in Shift then Form1.Color := clAqua; end; procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if not ( ssAlt in Shift ) then Form1.Color := FormColor; end; |
AW: Form1.KeyUp problem
Zitat:
Gegenprobe: Form1.BorderStyle auf bsNone setzten. Jetzt funktioniert es so wie erwartet. Fazit: Die Alttaste ist für solch eine Aktion eher ungeeignet. Grüße |
AW: Form1.KeyUp problem
Zitat:
MfG Fabian |
AW: Form1.KeyUp problem
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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-2025 by Thomas Breitkreuz