VB 5/6-Tipp 0130: Erkennen ob mehrere Tasten gleichzeitig gedrückt sind
von ActiveVB
Beschreibung
Soviel ich weiß ist es ausgehend von der Struktur der Keyboard-Matrix nicht möglich zu erkennen ob mehr als eine Taste gleichzeitig betätigt wurde. (Strg, Alt, Shift etc. bilden da natürlich Ausnahmen). Wenn aber davon ausgegangen werden kann, daß es eigentlich fast umöglich ist zwei Tasten wirklich gleichzeitig zu drücken, läßt sich mit dem kleinen hier gezeigten Trick Abhilfe schaffen.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Beschriftungsfeld "Label1" Option Explicit Dim KeyMem$, LastKey& Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode <> LastKey Then KeyMem = KeyMem & Chr$(KeyCode) LastKey = KeyCode Label1.Caption = KeyMem End Sub Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Dim Pos% Pos = InStr(1, KeyMem, Chr$(KeyCode)) KeyMem = Left$(KeyMem, Pos - 1) & Mid$(KeyMem, Pos + 1) If KeyCode = LastKey Then LastKey = -1 Label1.Caption = KeyMem End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 4 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Balduin am 23.06.2005 um 14:52
Bei mir werden immer nur drei Buchstaben angezeigt!
Kommentar von Chb am 29.12.2003 um 05:42
@Mario:
Das müsste eigentlich so gehen:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyB Then Call Prozedur
End Sub
Private Sub Prozedur()
Msgbox "Die Taste B wurde gedrückt.", vbInformation
End Sub
Kommentar von Mario am 23.03.2003 um 19:22
Wie kann ich über die Tastatur mit einem Buchstaben eine Sub Prozedur aufrufen?
Kommentar von Max am 07.04.2001 um 12:09
Kan ich irgendwie machen, dass man gleich 2 Tasten drücken kann etwa so:
If Keycode = ** and Keycode = **
Geht das irgendwie?