Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Перемотка текстового поля (на любую строку)


Автор: cardinal 31.5.2005, 16:10
Стандартными средствами:
Код

Sub GoToLine(TheBox As TextBox, LineNum As Long)
EachLine = Split(TheBox.Text, vbCrLf)
For i = 0 To (LineNum - 2)
    Sum = Sum + Len(EachLine(i))
Next
TheBox.SelStart = Sum + 2 * i
TheBox.SelLength = Len(EachLine(i))
End Sub

С использованием API:
Код

Declare Function SendMessageA Lib "user32" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const EM_LINESCROLL = &HB6

Private Sub GotoLine(TextBoxhWnd, LineNum)
SendMessageA TextBoxhWnd, EM_LINESCROLL, 0, LineNum - 1
End Sub

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)