vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Cursor-Tasten auslesen, wenn Commands im Formular sind 
Autor: RalfH
Datum: 17.10.03 12:24

Servus,

damit der Fokus eines Commandbutton beim Benutzen der Cursortaste nicht verändert wird, musst Du einfach nur jeden CommandButton in einen Frame setzen.

Um dann die Cursortasten abzufragen, benötigst Du dann ein paar API-Funktionen.

Erstelle ein neues Projekt und füge 1 Timer (Timer1), 1 Label (Label1), 4 Frames und in jeden Frame 1 Comandbutton ein (die Bezeichnung der Frames und der Commandbutton ist egal). Anschließend einfach nur noch folgenden Code ins Form-Modul kopieren:
Option Explicit
 
Private Const VK_LEFT As Long = &H25
Private Const VK_RIGHT As Long = &H27
Private Const VK_UP As Long = &H26
Private Const VK_DOWN As Long = &H28
 
Private Declare Function GetAsyncKeyState Lib "user32" ( _
   ByVal vKey As Long) As Integer
 
Private Declare Function GetActiveWindow Lib "user32" () As Long
 
 
Private Sub Form_Load()
  On Error Resume Next
 
  ' zum Programmstart, alle event. gedrückten Cursor-Tasten zurücksetzen
  ClearKeyState
End Sub
 
' hebt den Key-Status auf
Private Sub ClearKeyState()
 
  GetAsyncKeyState VK_LEFT
  GetAsyncKeyState VK_RIGHT
  GetAsyncKeyState VK_UP
  GetAsyncKeyState VK_DOWN
 
  Label1.Caption = ""
End Sub
 
Private Sub Timer1_Timer()
 
  On Error Resume Next
 
  Dim E As Long
 
  ' wenn das Fenster nicht aktiv ist, dann
  ' nichts machen
  If GetActiveWindow <> Me.Hwnd Then
    Label1.Caption = ""
  Else
    If GetAsyncKeyState(VK_LEFT) <> 0 Then
      Label1.Caption = "Links"
    ElseIf GetAsyncKeyState(VK_RIGHT) <> 0 Then
      Label1.Caption = "Rechts"
    ElseIf GetAsyncKeyState(VK_UP) <> 0 Then
      Label1.Caption = "Oben"
    ElseIf GetAsyncKeyState(VK_DOWN) <> 0 Then
      Label1.Caption = "Unten"
    Else
      Label1.Caption = ""
    End If
  End If
 
End Sub

Viel Spass,
R@lf

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Cursor-Tasten auslesen, wenn Commands im Formular sind727Da WELL17.10.03 10:15
Re: Cursor-Tasten auslesen, wenn Commands im Formular sind498_void17.10.03 10:46
Re: Cursor-Tasten auslesen, wenn Commands im Formular sind674RalfH17.10.03 12:24
Re: Cursor-Tasten auslesen, wenn Commands im Formular sind454Da WELL18.10.03 11:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel