Al pulsar Supr salga una letra

Iniciado por karmany, 31 Enero 2006, 23:46 PM

0 Miembros y 1 Visitante están viendo este tema.

karmany

A ver si me podéis ayudar:
Quiero pulsar la tecla Supr y que en un Textbox escriba una letra, por ejemplo la p.

Yo lo que he intentado hacer es esto:
Private Sub Text1_KeyDown(KeyCode As Integer, _
                            Shift As Integer)
    If KeyCode = 46 Then
       KeyCode = 80
    End If
   
End Sub


Me echáis un cable??

el_chente23

prueba con esto Private letra As String
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  letra = ""
  If KeyCode = 46 Then
    letra = "p"
  End If
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
  If Len(letra) > 0 Then Text1.Text = letra
End Sub
  ;D

Saludos

karmany

#2
Muchas gracias el_chente23 por tu ayuda..
Lo probé y gracias a tu ayuda lo cambié a este otro para que Text1.text no sea sólo igual a p.

Private letra As String

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  letra = ""
  If KeyCode = 46 Then
    letra = "p"
    KeyCode = 0 'así no tiene que borrar el carácter
  End If
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
  If Len(letra) > 0 Then
    Text1.Text = Left(Text1, Text1.SelStart) _
                 + "p" _
                 + Right(Text1.Text, Len(Text1) - Text1.SelStart - 1)
  End If
End Sub



Casualidad de la vida, después un colega me indicó otro código mucho más sencillo y creo que es menos lioso y el más adecuado:

If KeyCode = vbKeyDelete Then
KeyCode = 0 ' Anular el delete
SendKeys "{p}" ' Simular el tecleo de la p
End if


Gracias