![]() |
keydown Strg+ALt+s gedrückt?
Hi,
wie finde ich heraus ob Strg+ALt+s gedrückt ist, da
Delphi-Quellcode:
ja nur Shift und Key mitliefert und somit würde mir noch Alt oder Strg fehlet jehnachdem welches als erstes gedrückt wurde.
KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); Wie bekomme ich das hin? mfg ganidme |
Re: keydown Strg+ALt+s gedrückt?
Hi,
vielleicht hilft Dir ja ein Blick in die Hilfe :-)
Delphi-Quellcode:
Viele Grüße
TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
Timo |
Re: keydown Strg+ALt+s gedrückt?
nee tut es nicht da die Tasten ja gleichzeitig gedrückt werden und da TShiftState immer nur einen Wert haben kann geht das leider nicht:
Delphi-Quellcode:
if (Shift=[ssCtrl]) and (Shift=[ssAlt]) then
|
Re: keydown Strg+ALt+s gedrückt?
Hallo,
versuch es mal damit:
Delphi-Quellcode:
if Shift = [ssAlt, ssCtrl] then
|
Re: keydown Strg+ALt+s gedrückt?
Zitat:
Delphi-Quellcode:
nicht?
if Label1.Alignment = alTop then
[] ist eine Mengenangabe und eine Menge (deutlich erkennbar an dem Set Of in der Deklaration) ist - wie der Name schon sagt - eine Menge und diese kann kein Element sowie auch mehrere Elemente enthalten. Ganz im Gegensatz zu einer Enumeration (wie z.B. TAlignment beim Label, erkennbar am nicht vorhandenen Set Of) welches nur ein Element enthalten kann. Zu deiner Abfrage: Es gibt bei Mengen den Operator in mit dem du abfragen kannst ob ein bestimmtes Element in der Menge enthalten ist. von daher z.B. so:
Delphi-Quellcode:
Andere Möglichkeit: Wenn du der Menge die beiden Elemente ssAlt und ssShift hinzufügst und die sie danach immernoch den gleichen Inhalt hat, dann sind beide Elemente enthalten, sprich:
if ( ssCtrl in Shift ) and ( ssAlt in Shift ) and ( Key = 's' ) then
Delphi-Quellcode:
MfG
if ( Shift + [ssCtrl, ssAlt] = Shift ) and ( Key = 's' ) then
/EDIT: Zitat:
|
Re: keydown Strg+ALt+s gedrückt?
geht ja doch so danke :-)
|
Re: keydown Strg+ALt+s gedrückt?
Hallo,
Zitat:
Zitat:
|
Re: keydown Strg+ALt+s gedrückt?
... das war nicht auf dich bezogen sondern als Erklärung für gandime gedacht. Schliesslich sieht deine Lösung anders aus als das was ich beschrieben habe und da diese Lösung noch fehlte wollte ich sie gleich noch erklären und den Unterschied festmachen. Deine ist genauso wenig falsch wie schlecht wie andere Lösung und so sollte es auch nicht rüberkommen. Sorry.
|
Re: keydown Strg+ALt+s gedrückt?
Hallo,
ist nicht so rübergekommen :) , seh meinen Beitrag als zusätzliche Hinweis zu Deinen guten und ausführlichen Erläuterungen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 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