Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/05/2009, 15:35
Marcelote
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Respuesta: Borrar cajas de texto con la funcion Esc

Hola. No hay problema. Prueba lo siguiente:

1) establece la propiedad KeyPreview del formulario a true. Esto es imprescindible pues por defecto está en "false" De esta manera todos los eventos del teclado son registrados primero por el formulario y después por el control que tiene el foco si lo hubiera.

2) en el evento Form_KeyPress (doble click sobre el formulario, evento KeyPress) investiga el valor de KeyAscii. Por ejemplo:

Código:
If KeyAscii = vbKeyEscape Then '  KeyEscape = 27
    KeyAscii = 0 'Opcional, evita que sea visto después por los controles, ya que es pasado por referencia...
    If vbOK = MsgBox("¿Limpiar los datos introducidos?", vbOKCancel) Then
        'Rutina para vaciar todos los TextBox:
        Dim CT As Control
        For Each CT In Me.Controls
            If TypeOf CT Is TextBox Then
                 CT.Text = vbNullString
            End If
        Next CT
        'Y si quieres pones el foco en el TextBox que quieras:
        Text1.SetFocus 'Por ejemplo
    End If
End If
Un saludo, espero que te sirva.

Última edición por Marcelote; 04/05/2009 a las 16:08