CodeForum.chCode ForenVisual BasicThema: Tastatureingabe abfangen
Seiten: [1]
AntwortenDrucken
Autor Thema: Tastatureingabe abfangen  (Gelesen 5839 mal)
J
Neu hier
*
Offline Offline

Beiträge: 12


« am: 26. Juli 2002, 07:59:37 »
ZitierenZitat

Mein Problem ist folgendes: Bis jetzt habe ich die Tastatureigaben immer mit der KeyDown oder KeyPress abgefangen. Das setzt aber voraus, dass man mit dem Cursor auf diesem Objekt, zB Textbox, ist. Wie gehe ich vor, wenn ich beim Drücken einer Taste eine Aktion auslösen will, unabhängig wo sich der Cursor befindet.
Moderator informieren   Gespeichert
grandslam
Administrator
*
Offline Offline

Beiträge: 770



WWW
« Antworten #1 am: 29. Juli 2002, 10:46:50 »
ZitierenZitat

Sofern du es nicht für das ganze Windows abfangen willst, kannst du die Eigenschaft KeyPreview = True setzen, jedes Forumular hat diese Eigenschaft.
Das bedeutet, dass das Forumular die Ereignisse der Keys vor den Steuerelementen (Controls) bekommt.

Ansonsten  musst du es mit der WinAPI lösen.
Moderator informieren   Gespeichert

grandslam [Admin]
I could bomb you, I could shoot you, and I could fall on you...
J
Neu hier
*
Offline Offline

Beiträge: 12


« Antworten #2 am: 08. August 2002, 09:36:40 »
ZitierenZitat

Das mit dem KeyPreview hat mich einen Schritt weitergebracht. Aber bei gewissen Objekten, z.B. Checkboxes und Buttons klappt es immernoch nicht. Hier springt der Cursor einfach in die gewünsch Richtung und die KeyDown-Aktion bleibt aus.
Moderator informieren   Gespeichert
grandslam
Administrator
*
Offline Offline

Beiträge: 770



WWW
« Antworten #3 am: 08. August 2002, 18:19:55 »
ZitierenZitat

Weis auch nicht wie du das sauber lösen kannst, ausser indem du alle Tastaturereignisse abfängst (Systemweit) und dann überprüfst ob dein Formular aktiviert ist.
Unter folgendem Link findest du ein Beispiel wie du alles abfangen kannst:
http://www.activevb-archiv.de/vb/VBtips/VBtip0070.shtml
Moderator informieren   Gespeichert

grandslam [Admin]
I could bomb you, I could shoot you, and I could fall on you...
Way
Gast
« Antworten #4 am: 07. September 2002, 12:55:50 »
ZitierenZitat Beitrag ändernÄndern Beitrag löschenLöschen

Mit der Windows-API-Funktion GetAsyncKeyState(key as integer) klappt's.

key=1 ist die linke Maustaste,
key=2 ist die rechte,
key=65 ist 'A',
usw.

Die Funktion liefert Dir den aktuellen Status der gewünschten Taste.
In welche DLL sie steht, wei?? ich nicht mehr.
Deklarieren kannst Du sie so:
declare function GetAsyncKeyState lib "user32.dll" (key as integer) as long
Moderator informieren   Gespeichert
krisha
Gast
« Antworten #5 am: 12. September 2006, 09:57:08 »
ZitierenZitat Beitrag ändernÄndern Beitrag löschenLöschen


In welche DLL sie steht, wei?? ich nicht mehr.
Deklarieren kannst Du sie so:
declare function GetAsyncKeyState lib "user32.dll" (key as integer) as long

wie wär's mit user32.dll ??
Moderator informieren   Gespeichert
Seiten: [1]
AntwortenDrucken
CodeForum.chCode ForenVisual BasicThema: Tastatureingabe abfangen
Gehe zu:  

 

Partner Sites

Werbung

TinyPortal v1.0.5 beta 1© Bloc