我回答第 3 个问题;详细信息清参考 msdn EM_* Windows 消息。FORM1.FRM 源代码:Option ExplicitPrivate Const EM_GETFIRSTVISIBLELINE = &HCE
// 这些消息对你可能有用
Private Const EM_LINELENGTH = &HC1
Private Const EM_LINEFROMCHAR = &HC9Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Sub Form_Load()
    Me.Caption = SendMessage(Me.RichTextBox1.hwnd, EM_GETFIRSTVISIBLELINE, 0, 0)
End SubPrivate Sub RichTextBox1_SelChange()
    Me.Caption = SendMessage(Me.RichTextBox1.hwnd, EM_GETFIRSTVISIBLELINE, 0, 0)
End Sub