-
Cómo hacer un teclado en pantalla en Visual Basic
-
Se puede crear un teclado en pantalla con el programa de Microsoft Visual Basic, que se puede descargar desde el sitio web de Microsoft de forma gratuita. Visual Basic es un programa bastante comprensible para la mayoría de la gente. El programa fue diseñado para construir aplicaciones seguras y orientadas a objetos. Este programa ofrece a los desarrolladores la oportunidad de dirigirse a la Web, dispositivos móviles y de Windows. El teclado en pantalla creada por Visual Basic le permite escribir en diferentes aplicaciones en el equipo.
Instrucciones
1 Iniciar Microsoft Visual Basic.
2 Haga clic en "Nuevo proyecto" justo debajo de la pestaña "Archivo" situado en la barra de herramientas.
3 Resalte "Aplicación de Windows Forms" en el cuadro emergente "Nuevo proyecto".
4 Cambie el nombre del proyecto a "teclado en pantalla" o algo similar para identificar más fácil su proyecto.
5 Haga clic en "Aceptar" en la esquina inferior derecha de la ventana emergente "Nuevo proyecto". Un formulario en blanco con la etiqueta "Form1" debe aparecer en unos pocos segundos.
6 Haga clic en la "Caja de Propiedades" que se encuentra en el lado derecho de la pantalla y selecciona la casilla "Nombre"; cambiar el nombre de "Form1" a "frmMain".
7 Resalte "FormBorderStyle" y cambiar el nombre actual de "FixedToolWindow".
8 Marque la opción "Tamaño" y cambiar el tamaño actual de "390208".
9 Marque la opción "Texto" y cambiar el nombre a "teclado".
10 Resalte "TopMost" y cambiar a "True".
11 Ampliar (+) sus "controles comunes" en la "caja de herramientas" en el lado izquierdo de la pantalla y seleccione el componente "ComboBox".
12 Dibuje un cuadro combinado en el cuadro de "Forma", que debe ser etiquetado como "teclado".
13 Haga clic en el cuadro combinado y luego volver a la "Caja de Propiedades" situado en el lado derecho de la pantalla. Marque la opción "Nombre" en la "Caja de Propiedades" y cambie el nombre a "cboWindows".
14 Resalte "DropDownStyle" y cambie el nombre a "DropDownList" y haga clic derecho-on "Forma" en el "Explorador de soluciones" y seleccione "Ver código".
15 Escriba los siguientes métodos de la API y declaraciones por debajo de la "Clase frmMain Pública":
"Métodos de la API
Public Declare Función IsWindowVisible Lib "user32.dll" _
Alias "IsWindowVisible" (ByVal hwnd As Integer) As Boolean
Public Declare Función GetWindow Lib "user32.dll" _
Alias "GetWindow" (ByVal hwnd como número entero, _
ByVal wCmd As Integer) As Integer
Public Declare Función GetWindowLong Lib "user32.dll" _
Alias "GetWindowLongA" (ByVal Hwnd As Integer, _
ByVal nIndex As Integer) As Integer
Public Declare Función GetParent Lib "user32.dll" _
Alias "GetParent" (ByVal hwnd As Integer) As Integer
Public Declare Function SetForegroundWindow Lib "user32.dll" _
Alias "SetForegroundWindow" (ByVal hwnd As Integer) As Integer
Declaraciones '
RowOne privada As String () = { "` "," 1 "," 2 "," 3 "," 4 "," 5 "," 6 "," 7 "," 8 "," 9 "," 0 "," - "," = "}
RowTwo privada As String () = { "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[ ","] "}
RowThree privada As String () = { "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", " ' "," # "}
RowFour privada As String () = { "\", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/ "}
CapsLock privada como nuevo CheckBox
Clave Privada, Como cadena especial
Ventanas privadas como nuevo ArrayList
Ventana privada como IntPtr
dieciséis Introduzca los métodos de la API y las declaraciones más abajo los "controladores de eventos":
' Controladores de eventos
Sub clave privada
del remitente especial (ByVal como Button,
ByVal e As System.EventArgs)
Si Especial = "" Entonces
Special = Sender.Tag
Más
Special = ""
Terminara si
End Sub
Private Sub clic de las teclas (remitente de ByVal como Button,
ByVal e As System.EventArgs)
Clave = Sender.Tag
Si Key = "{ESPACIO}" Entonces clave = "" 'Convert {ESPACIO} al espacio
Si Ventana <> 0 Then
SetForegroundWindow(Window)
SendKeys.SendWait (Especial IIf (Capslock.Checked _
Y no es nada especial & lt;> "^", _
Ucase (Key), Key))
SetForegroundWindow (Ventana)
Terminara si
End Sub
17 Introduzca este por debajo de los "Métodos privados":
"Métodos privadosFunción privada IsActiveWindow (ByVal CVent As Integer) As Boolean
Dim IsOwned As Boolean
Dim Estilo As Integer
IsOwned = GetWindow (hWnd, 4) <> 0
Style = GetWindowLong (hWnd, -20)
Si no IsWindowVisible (hWnd) Entonces return false 'no visible
Si GetParent (hWnd) <> 0 Entonces return false 'Tiene Padres
Si (Y Estilo y H80) <> 0 y no IsOwned Entonces return false "es Tooltip
Si (Y Estilo y H40000) = 0 Y IsOwned Entonces return false 'tiene propietario
Si Process.GetCurrentProcess.MainWindowHandle = CVent Entonces return false
Ventana volver True 'Válido
End Function
Private Sub KeyboardButton (ByVal As Integer Ancho, Altura ByVal As Integer, _
ByVal Top As Integer, ByVal Left As Integer, _
Opcional Texto ByVal As String = "", _
Opcional Tag ByVal As String = "", _
Opcional Especial ByVal As Boolean = false)
Botón Dim como nuevo botón
Button.Size = Tamaño (anchura, altura)
Button.Location = New Point (izquierda, de arriba)
Button.Text = Texto
Button.Tag = Tag
Si Entonces Especial
AddHandler Button.Click, AddressOf Key_Special
Más
AddHandler Button.Click, AddressOf Key_Click
Terminara si
Controls.Add (botón)
End Sub
18 Volver a la vista Diseño, seleccione la pestaña "Diseño" o haga clic en la opción "Ver diseñador" que se encuentra en el "Explorador de soluciones" para frmMain. Dentro del formulario mostrado, haga doble clic en el formulario (frmMain).
19 Escriba el siguiente en "frmMain_Load ()" substitución:
Dim Col As Integer
'Una Fila
Para Col = 0 a 12
KeyboardButton (25, 25, 40, Col * 25 + 4, _
RowOne(Col), RowOne(Col))
Siguiente
KeyboardButton (50, 25, 40, Col * 25 + 4, "BKSP", "{} RETROCESO")
'Fila Dos
KeyboardButton (36, 25, 66, 4, "Tab", "{TAB}")
Para Col = 0 a 11
KeyboardButton (25, 25, 66, Col * 25 + 40, _
UCase(RowTwo(Col)), RowTwo(Col))
Siguiente
KeyboardButton (39, 25, 66, 36 + 25 + * Col 4, "↵", "{ENTER}")
'Fila de tres
CapsLock.Appearance = Appearance.Button
CapsLock.Size = Tamaño (48, 25)
CapsLock.Location = New Point (4, 92)
CapsLock.Text = "Caps"
Controls.Add (CapsLock)
Para Col = 0 a 11
KeyboardButton (25, 25, 92, Col * 25 + 52, _
UCase(RowThree(Col)), RowThree(Col))
Siguiente
KeyboardButton (27, 25, 92, 48 + 25 + * Col 4, "", "{ENTER}")
'Cuatro Fila
KeyboardButton (38, 25, 118, 4, "Shift", "+", True)
Para Col = 0 a 10
KeyboardButton (25, 25, 118, Col * 25 + 42, _
UCase(RowFour(Col)), RowFour(Col))
Siguiente
KeyboardButton (62, 25, 118, Col * 25 + 42, "Shift", "+", True)
'Fila Cinco
KeyboardButton (50, 25, 144, 4, "Ctrl", "^", True)
KeyboardButton (50, 25, 144, 54, "%", "Alt", True)
KeyboardButton (154, 25, 144, 104, "espacio", "{ESPACIO}")
KeyboardButton (44, 25, 144, 258, "Inicio", "{HOME}")
KeyboardButton (44, 25, 144, 302, "Fin", "{FIN}")
KeyboardButton (33, 25, 144, 346, "Del", "{DEL}"
20 Volver a la "vista de código" haciendo doble clic en el formulario. Debe aparecer la Sub "frmMain_Load" de la etapa anterior. Debe haber dos cuadros desplegables en la vista Código.
21 Seleccione "cboWindows" desde el primer cuadro desplegable "frmMain Evento" y seleccione "desplegable" en el cuadro desplegable "Declaraciones".
22 Escriba lo siguiente en el "cboWindows_DropDown (...)" Sub:
Windows.Clear ()
cboWindows.Items.Clear ()
Para cada elemento del modo Proceso En Process.GetProcesses
Si IsActiveWindow (Item.MainWindowHandle) _
Y Item.MainWindowTitle <> "" Entonces
Windows.Add(Item.MainWindowHandle)
cboWindows.Items.Add (Item.MainWindowTitle)
Terminara si
Siguiente
A continuación, seleccione "cboWindows" de la primera casilla desplegable de nuevo se encuentra en la vista de código.
Elija "SelectedIndexChanged" y escriba lo siguiente en Secundaria "cboWindows_SelectedIndexedChange":
Si cboWindows.SelectedItem <> nada entonces
Ventana = Windows.Item (cboWindows.SelectedIndex)
Terminara si
23 Guardar el proyecto, debido a que haya terminado.
24 Haga clic en "Inicio" y debería aparecer el teclado en pantalla.
25 Haga clic en la "X" roja situada en la parte superior derecha del cuadro para cerrar la aplicación cuando haya terminado.