Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: NYlOn en 27 Agosto 2005, 00:38 am



Título: Seleccionar una linea en un txtb0x
Publicado por: NYlOn en 27 Agosto 2005, 00:38 am
necesito saber como hacer para que cuando al hacer click en un textbox se seleccione toda una linea (no todo el textbox, solo la linea en la que se hizo click)
no se si es posible esto :S
muchas gracias de antemano

un abraz0


Título: Re: Seleccionar una linea en un txtb0x
Publicado por: Slasher-K en 27 Agosto 2005, 05:12 am
Código:
Private Sub txtData_Click()
  On Error Resume Next
 
           Dim lPos1&, lPos2&

  lPos1 = InStrRev(txtData, vbCrLf, txtData.SelStart)
  lPos2 = InStr(txtData.SelStart, txtData, vbCrLf)
 
  If lPos1 <= 0 Then lPos1 = 1
  If lPos2 <= 0 Then lPos2 = Len(txtData)
 
  txtData.SelStart = lPos1 + 2
  txtData.SelLength = lPos2 - lPos1 - 2
End Sub

Suponiendo que txtData es un TextBox.

Saludos.


Título: Re: Seleccionar una linea en un txtb0x
Publicado por: NYlOn en 27 Agosto 2005, 09:39 am
muchas gracia Anhur  :D
pero t corrijo alg0 ^^
Código:
Private Sub txtData_Click()
  On Error Resume Next
 
           Dim lPos1&, lPos2&

  lPos1 = InStrRev(txtData, vbCrLf, txtData.SelStart)
  lPos2 = InStr(txtData.SelStart, txtData, vbCrLf)
 
  If lPos1 <= 0 Then lPos1 = -2
  If lPos2 <= 0 Then lPos2 = Len(txtData)
 
  txtData.SelStart = lPos1
  txtData.SelLength = lPos2 - lPos1 + 0

End Sub

Bueno pero aca me surge otro problemaa  :'(
Cuando quiero pasar la linea seleccionada a otro txtbox,
(Text1.Text = txtData.SelText) me la pasa con 2 caracteres en los costad0s ><
intente sacarlos usando Left y Right pero no logro hacer que desaparezcan
por favor si se te ocurre alg0 para solucionar esto estaria muy agradecid0 xD

desde ya gracias x el codig0

un abraz0


Título: Re: Seleccionar una linea en un txtb0x
Publicado por: NYlOn en 27 Agosto 2005, 09:48 am
wiiii
ya lo pude solucionar ::D

el codigo me kedo asi:
Código:
Private Sub Text1_Click()
SendKeys "{DEL}"
SendKeys "{END}"
SendKeys "{BACKSPACE}"
End Sub

Private Sub txtData_Click()
  On Error Resume Next
 
           Dim lPos1&, lPos2&

  lPos1 = InStrRev(txtData, vbCrLf, txtData.SelStart)
  lPos2 = InStr(txtData.SelStart, txtData, vbCrLf)
 
  If lPos1 <= 0 Then lPos1 = -2
  If lPos2 <= 0 Then lPos2 = Len(txtData)
 
  txtData.SelStart = lPos1
  txtData.SelLength = lPos2 - lPos1 + 0

    Text1.Text = txtData.SelText
    Text1.SetFocus
    Text1_Click
End Sub

MUCHISIMAS GRACIAS Anhur x el codigo y te quiero felicitar x tu gran labor en el foro
no hay nada que no sepas wacho xD

GRACIAS, DE VERDAD

un abraz0

G0nz4