Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Virtual Keys (https://www.delphipraxis.net/8913-virtual-keys.html)

LoL 15. Sep 2003 13:08


Virtual Keys
 
hi

kann man die virtuellen tasten nicht mit der OnKeypress-Procedure abfangen?

mfg christoph

Luckie 15. Sep 2003 13:12

Re: Virtual Keys
 
Nein, nimm OnKeyDown. Die VK_XXX Konstanten sind nummerische Werte und OnKeyPress nimmt als Paramter, im Gegensatz zu OnKeyDown, nur Char-Werte.

Christian Seehase 15. Sep 2003 13:14

Re: Virtual Keys
 
Moin Christoph,

Jain.

Auszug aus der Hilfe zu OnKeyPress:

Zitat:

Tasten, die keinem ASCII-Char-Wert entsprechen (z.B. UMSCHALT oder F1), generieren kein Ereignis OnKeyPress. ... Soll auf Nicht-ASCII-Tasten oder Tastenkombinationen reagiert werden, verwenden Sie die Ereignisbehandlungsroutine für OnKeyDown oder OnKeyUp.

LoL 15. Sep 2003 13:44

Re: Virtual Keys
 
hi

also so nicht?:

Delphi-Quellcode:
 
if Not ( Key in [ '0'..'9',#8, #9 ,#13, #26, #28 ] ) then
  Key   := #0;

  Case Key of
    #13 :  { #13 = Enter }
        Begin
          Key := #0;
          PostMessage( Handle, WM_NextDlgCtl, 0, 0 ); {Win32 API}
        End;

   #26 :  { #26 = KEY - UP }
        Begin
          PostMessage( Handle, WM_NextDlgCtl, 1, 0 ); {Win32 API}
          Exit;
        end;

   #28 :  { #28 = KEY - DOWN }
        Begin
          PostMessage( Handle, WM_NextDlgCtl, 0, 0 ); {Win32 API}
          Exit;
        end;
  end; { Case of.... }

Luckie 15. Sep 2003 13:48

Re: Virtual Keys
 
Zitat:

Zitat von LoL
also so nicht?:

Was spricht dagegen es auszuprobieren? :roll:

LoL 15. Sep 2003 13:48

Re: Virtual Keys
 
kann net hab ka delphi hier

Christian Seehase 15. Sep 2003 13:56

Re: Virtual Keys
 
Moin Christoph,

ich bleibe mal beim Jain ;-)

#08 (Backspace), und #13 (Enter) kannst Du so an der Stelle verwenden, #26 und #28 nicht. Dieses dienen der Navigation innerhalb des Formulares, und werden nicht an OnKeyPress weitergereicht.

#09 bekommst Du ohne "Trick" nicht einmal im OnKeyUp/OnKeyDown zu fassen.
Schau Dir dazu mal diesen Thread an:
TABULATOR und Edit-Feld

LoL 15. Sep 2003 13:59

Re: Virtual Keys
 
hi seehase

auf gut deutsch: ohen eigene kompo nicht?

Christian Seehase 15. Sep 2003 14:03

Re: Virtual Keys
 
Moin Christoph,

wird zumindest mit dem Tabulator schwierig.
Ich hab's jetzt noch nicht ausprobiert, ob KeyPreview des Formulares auf True, und ein Abfangen der Meldung in der WindowProc etwas bringt, glaube aber nicht dass das funktioniert.

Dannyboy 15. Sep 2003 14:06

Re: Virtual Keys
 
Wie wär's mit GetAsyncKeyState aus der Api? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.
Seite 1 von 2  1 2      

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