Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: YAcosta en Octubre 17, 2013, 02:12:43 pm

Título: Pegar en Textbox validado
Publicado por: YAcosta en Octubre 17, 2013, 02:12:43 pm
Me he enrrollado con este tema.

Tengo este codigo
Código: (VB) [Seleccionar]
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
    Case 8, 32 To 57, 65 To 90, 209, 165, 193
    Case 97 To 122, 164, 241
       KeyAscii = Asc(UCase(Chr(KeyAscii)))
    Case Else
        KeyAscii = 0
End Select
End Sub

Pero quiero que a pesar de el pueda hacerse Ctrl V y pegar un texto, si me pega un texto en minusculas no importa lo convertire a mayuscula en otro proceso pero al menos quiero meter el dato. No ubico como capturar el Ctrl y conjugarlo con el V (o "v") para que pegue.

Saludos
Título: Re:Pegar en Textbox validado
Publicado por: Jeronimo en Octubre 17, 2013, 02:57:52 pm
Hola, amigo Yván.
Probá con este código (tené en cuenta que va en el evento KeyDown):
Código: (VB) [Seleccionar]
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If Shift = 2 And KeyCode = 86 Then
        MsgBox "Se presionó Ctrl+v"
    End If
End Sub
Un abrazo.

Jerónimo
Título: Re:Pegar en Textbox validado
Publicado por: YAcosta en Octubre 17, 2013, 04:02:52 pm
Perfecto Jerónimo, ese era el juego de teclas, funcionó, por si alguien mas lo necesita una vez pasada la validación usamos:
Text1.SelText = Clipboard.GetText()  'para pegar lo que tenemos en memoria

Muchas gracias doc.
Título: Re:Pegar en Textbox validado
Publicado por: cristian_19a en Octubre 17, 2013, 11:26:08 pm
Hola
Creo que también así funciona :D
Código: (VB) [Seleccionar]
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbMenuAccelCtrlC Then
        KeyAscii = 0
        MsgBox "Control + C"
    ElseIf KeyAscii = vbMenuAccelCtrlV Then
        KeyAscii = 0
        MsgBox "Control + V"
    ElseIf KeyAscii = vbMenuAccelCtrlX Then
        KeyAscii = 0
        MsgBox "Control + X"
    ElseIf KeyAscii = vbMenuAccelCtrlZ Then
        KeyAscii = 0
        MsgBox "Control + Z"
    End If
End Sub
Título: Re:Pegar en Textbox validado
Publicado por: Jeronimo en Octubre 17, 2013, 11:41:54 pm
¡Muy bueno! No tenía idea de eso.
Gracias.

Jerónimo
Título: Re:Pegar en Textbox validado
Publicado por: raul338 en Octubre 19, 2013, 12:31:13 am
Ojo que eso solo funciona para cuando se presionan las teclas. Pero si viene alguien y hace "Click derecho -> Pegar" te arruina la aplicacion...

Lo mejor es subclasear el textbox (cSubClass, fijensen los proyectos de Leandro) y obtener los mensajes WM_PASTE y listo :)