Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Cancelar una tecla despues de presionarla

Estas en el tema de Cancelar una tecla despues de presionarla en el foro de Visual Basic clásico en Foros del Web. Necesito que al precionar la tecla retroceso en un RichTextBox no me haga nada dependiendo de una condicion. Si el ultimo caracter es un espacio ...
  #1 (permalink)  
Antiguo 19/09/2009, 13:58
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Cancelar una tecla despues de presionarla

Necesito que al precionar la tecla retroceso en un RichTextBox no me haga nada dependiendo de una condicion.
Si el ultimo caracter es un espacio en blanco no hara nada, caso contrario se aplicara la tecla precionada.

Lo unico que me falta es como cancelar la tecla precionada cuando se cumpla la condicion?
Código:
Dim Retroceso As Boolean
Private Const vbKeyBack = 8

Private Sub RichTextBox2_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyBack Then Retroceso = True
If Retroceso Then

If Right(RichTextBox2.Text, 1) = " " Then
   'no retrocedo #Aqui deberia cancelar dicha tecla#
   MsgBox "no puede regresar"
Else
   'retrocedo asi que no hago nada
End If
   
Form_KeyUp 0, 0
End If

End Sub

Private Sub RichTextBox2_KeyUp(KeyCode As Integer, Shift As Integer)
  Retroceso = False
End Sub
  #2 (permalink)  
Antiguo 19/09/2009, 14:45
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Cancelar una tecla despues de presionarla

Solo tienes que poner KeyCode = 0
  #3 (permalink)  
Antiguo 19/09/2009, 16:21
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: Cancelar una tecla despues de presionarla

oks funciono bien
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:22.