richtextbox 및 스크롤 막대가있는 폼이 있습니다. 내 선택을 잃지 않고 텍스트 상자에 텍스트를 계속 추가 할 수 있기를 원합니다. 텍스트를 추가하고 다시 설정하기 전에 selectionstart 및 selectionlength를 저장할 수 있습니다. 문제는 그것이 역순으로 선택하는 것입니다. 내가 할 수있는 최선의 방법은 선택 위치를 올바른 위치로 다시 설정하는 것이지만 텍스트를 다시 선택하도록 마우스를 움직여야합니다. 내가 텍스트 추가 전후에 다음과 같은 기능을 사용하고 있습니다 : 텍스트를 추가 한 후 내 스크롤 위치가 완료 하단에없는 경우richtextbox (vb.net)에서 프로그래밍 방식으로 텍스트를 선택 취소
Private Sub StopRepaint()
Dim pt As Point
' Stop redrawing:
SendMessage(txtchat.Handle, WM_SETREDRAW, 0, pt)
' Stop sending of events:
eventmask = SendMessage(txtchat.Handle, EM_GETEVENTMASK, 0, pt)
End Sub
Private Sub StartRepaint()
Dim pt As Point
' turn on events
SendMessage(txtchat.Handle, EM_SETEVENTMASK, 0, pt)
' turn on redrawing
SendMessage(txtchat.Handle, WM_SETREDRAW, 1, pt)
' this forces a repaint, which for sotxtchat reason is necessary in sotxtchat cases.
txtchat.Invalidate()
End Sub
을, 나는이를 사용하여 다시 설정 해요 :
If Not isbottom(getpos) Then
PostMessageA(txtchat.Handle, WM_VSCROLL, SB_THUMBPOSITION + _
&H10000 * getpos(), Nothing)
End If
내 주요 목표는 richtextbox에 새 텍스트를 추가하는 경우에도 텍스트를 선택하고 복사 할 수있게하는 것입니다. 누구든지 올바르게 역순으로 텍스트를 선택하는 방법을 알고 있거나 선택 해제중인 텍스트에 대한 내 문제를 쉽게 해결할 수 있습니까? 감사.