Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tastenabfrage in einem laufenden Programm (https://www.delphipraxis.net/17243-tastenabfrage-einem-laufenden-programm.html)

xavior 1. Mär 2004 19:18


Tastenabfrage in einem laufenden Programm
 
Also ich hab ein kleines Problem. Ich möchte in meinem Programm ein Menü einbauen, welches durch das drücken der [F1]-Taste rauskommen soll! Ich hab schon alles mögliche versucht, doch nichts hatt geklappt! Kann mir einer helfen?

xavior 1. Mär 2004 19:35

Re: Tastenabfrage in einem laufenden Programm
 
Hatt sich schon erledigt, habs selbst rausgefunden! Wer wissen möchte wie, den zeig ich den Code:

Delphi-Quellcode:
procedure TTestprogramm.LMenue(Sender: TObject);
var State: TKeyboardState;
begin
 GetKeyboardState(State);
 If ((State[VK_F1] and 128) <> 0) = True then begin
  LListe.Show;
 end;
end;
Mit Hilfe eines Timers (Mit dem Interval von 50!), wird jede 50 Millisekunden die Tastatur abgefragt!

SirThornberry 1. Mär 2004 19:45

Re: Tastenabfrage in einem laufenden Programm
 
mit Register Hotkey oder dem KeyDown ereignis des Formulares wäre es auch gegangen ohne das du nen timer brauchst

nailor 1. Mär 2004 19:47

Re: Tastenabfrage in einem laufenden Programm
 
KeyPreview des Formulars wäre Anlaufstelle NR.1!

xavior 1. Mär 2004 19:52

Re: Tastenabfrage in einem laufenden Programm
 
Tja genau das waren die sachen die nicht funktionierten!

SirThornberry 1. Mär 2004 19:53

Re: Tastenabfrage in einem laufenden Programm
 
Wenn RegisterHotkey nicht funktioniert muss irgenwas an deinem system putt sein

xavior 1. Mär 2004 20:01

Re: Tastenabfrage in einem laufenden Programm
 
Ach, das meine ich doch nicht ich mein die KeyDown Sache!

atreju2oo0 1. Mär 2004 20:15

Re: Tastenabfrage in einem laufenden Programm
 
Hab's zwar nicht ausprobiert, aber mit dem onKeydown Ereigniss deiner TestForm geht das besser...
Du mußt Form.Keypreview auf true setzen, damit das Formular als erstes das Zeichen kriegt, auch wenn zum beispiel ein
Edit den Focus hat!
dann kannste alles abfangen und deinen Code ausführen lassen...

Hab auch ewig gebraucht bis ich das rausgefunden hab...
:wall:

xavior 2. Mär 2004 08:04

Re: Tastenabfrage in einem laufenden Programm
 
OK, dann probier ich das mal!


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