VBasicFacil
Principal - Enlaces - Código - Controles - API
Declaración
Declare Function SetKeyboardState Lib "user32" Alias "SetKeyboardState" (lppbKeyState As Byte) As Long
Plataformas
Descripción
Establece el estado actual de todas las teclas virtuales del teclado.
Parámetros
lppbKeyState Una cadena de longitud fija de 256 caracteres. Cada carácter de la tabla interna de Windows de estado del teclado se fijará según el estado de su correspondiente tecla virtual en esta tabla.
Valor de retorno
Devuelve un cero si se produce un error y distinto de cero si no se produce error.
Ejemplo
| Vamos a crear un formulario y manejarnos en el con las flechas del teclado en lugar del tabulador |
|
Formulario (Contiene tres TextBox) Option Explicit
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
Dim Tecla(0 To 255) As Byte
Select Case KeyCode
Case vbKeyRight, vbKeyDown: ' Flecha derecha y flecha abajo
' Simulamos la pulsación del la tecla TAB
PostMessage Text1(Index).hwnd, WM_KEYDOWN, VK_TAB, 0
Case vbKeyLeft, vbKeyUp:
GetKeyboardState Tecla(0)
' Simulación de la pulsación de la tecla SHIFT
Tecla(VK_SHIFT) = True
SetKeyboardState Tecla(0)
' Simulamos la pulsación de la tecla TAB
PostMessage Text1(Index).hwnd, WM_KEYDOWN, VK_TAB, 0
DoEvents
' Liberación de la tecla SHIFT
Tecla(VK_SHIFT) = False
SetKeyboardState Tecla(0)
End Select
' Vaciamos el buffer del teclado
KeyCode = 0
End Sub
|
|
Modulo (Implementado solo por claridad, podría ir en el formulario) Option Explicit Public Declare Function PostMessage _ Lib "user32" _ Alias "PostMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Public Declare Function SetKeyboardState _ Lib "user32" _ (lppbKeyState As Byte) As Long Public Declare Function GetKeyboardState _ Lib "user32" _ (pbKeyState As Byte) As Long Public Const WM_KEYDOWN = &H100 Public Const VK_TAB = &H9 Public Const VK_SHIFT = &H10 |
| Descargar Codigo : SetKeyboardState.zip |
Aplicaciones: Activar/desactivar el teclado numérico
Ver también:
Categoría: Teclado
Ultima actualización : 7 de diciembre de 2001 Copyright © 2001 Silared, s.l. correo-e : vbasicfacil@silared.com Site : www.vbasicfacil.com