Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mehrere Tasten gleichzeitig abfragen...?! (https://www.delphipraxis.net/17265-mehrere-tasten-gleichzeitig-abfragen.html)

barnti 2. Mär 2004 09:56


Mehrere Tasten gleichzeitig abfragen...?!
 
Hi,

ich steh grad aufm Schlauch. Möchte bei Druck auf die Tasten 'Ctrl'+'Alt'+'F' Behandlungsroutine starten. Mein Code:

Delphi-Quellcode:
procedure TForm_Main.KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
...
 if (Shift= [ssCtrl]) and (Shift= [ssAlt])and (char(Key)= char(70)) Then
        begin
          ShowMessage('Ctrl+Alt+F');
          exit;
        end;
Leider passiert nichts. Liegt der Fehler am falsch gewählten Event(KeyDown)? Wie kann ich das ändern, so dass ich bis 'Showmessage' komme. Danke!

Gruß,

Barnti

MarcoWarm 2. Mär 2004 10:05

Re: Mehrere Tasten gleichzeitig abfragen...?!
 
Hallo Barnti,

Du hast da, so leid's mir tut, n kleinen Denkfehler:

Shift kann niemals gleich [ssCtrl] und [ssAlt] sein
sehr wohl aber [ssCtrl,ssAlt]

richtig wäre also
Delphi-Quellcode:
if (Shift= [ssCtrl,ssAlt])and (char(Key)= char(70)) then
oder

Delphi-Quellcode:
if (ssCtrl in Shift) and (ssAlt in Shift) and (char(Key)= char(70)) then
letzteres würde auch noch ein Ereignis auslösen, wenn der Nutzer zusätlich Shift gedrückt hält.

Ciao

marco

barnti 2. Mär 2004 10:10

Re: Mehrere Tasten gleichzeitig abfragen...?!
 
DANKE!

Scheint heute ein schlechter Tag für mich zu sein. Ich komme einfach nicht klar. Konzentration null. Man könnte meinen es wäre heute Montag morgen, da komme ich überhaupt nicht aus dem Quark...;)

Danke Dir für Deinen 'Schlag auf den Hinterkopf'.

Gruß,

Barnti


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