Ver Mensaje Individual
  #9 (permalink)  
Antiguo 03/01/2013, 10:07
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Teclado virtual

Hola, para mi esto es una manera de complicarse la vida. Cada maestrillo tiene su librillo pero imagina lo siguiente:

Un formulario llamado Teclado, donde tenemos el teclado dibujado. Cada una de las teclas es un Command de una Matriz en este sencillo ejemplo le he llamado a los botones Tecla y sería algo similar a esto:

[A] [B] [C] [<][Salir]
[1] [2] [3] [Aceptar]

El número de los indices en este caso no tiene importancia.

Este es el código dentro del formulario:

Código vb:
Ver original
  1. Option Explicit
  2. Dim CampoTexto As TextBox
  3.  
  4. Public Sub MiTeclado(Texto As TextBox, Titulo As String)
  5.   Set CampoTexto = Texto
  6.   Me.Caption = Titulo
  7.   Me.Show vbModal
  8. End Sub
  9.  
  10. Private Sub tecla_Click(Index As Integer)
  11.   Select Case tecla(Index).Caption
  12.     Case "Salir"
  13.       CampoTexto.Text = ""
  14.       Unload Me
  15.     Case "Aceptar"
  16.       Unload Me
  17.     Case "<"
  18.       If CampoTexto.Text <> "" Then CampoTexto.Text = Left$(CampoTexto.Text, Len(CampoTexto.Text) - 1)
  19.     Case Else
  20.       CampoTexto.Text = CampoTexto.Text & tecla(Index).Caption
  21.   End Select
  22. End Sub


Supongamos ahora que queremos completar en el FormularioX un campo de Texto llamado Text1 y que la pregunta sea "Nombre"

Teclado.MiTeclado Text1, "Nombre"

Mas sencillo imposible, Ahora depende del gusto de cada uno la forma que le de al Teclado, y la versatilidad del mismo.

Puedes utilizar el index para saber que teclas se pueden convertir a Mayusculas y cuales no, por ejemplo:

Index 0 = a
Index 1 = b
Index 2 = c
Index 3 = d

con un simple bucle conviertes todas las teclas a mayúsculas o minúsculas

For Indice = 0 To 3
Tecla(Indice).Caption = Ucase(Tecla(Indice).Caption) 'Mayúsculas
Next

For Indice = 0 To 3
Tecla(Indice).Caption = Lcase(Tecla(Indice).Caption) 'Minúsculas
Next

En fin, la imaginacion al poder.

Saludos y feliz año a todos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...