給RichTextBox發消息,API:Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const EM_SCROLL = &HB5 Private Const SB_LINEDOWN = 1Public sub ScrollToLine(nScrollTo as integer) Dim i as integer for i=0 to nScrollTo-1 SendMessage RichTextBox1.hwnd,EM_SCROLL,SB_LINEDOWN, 0 next i end if
to nerk:thank you very much,但我在textbox中输入行数,点击command1,在richtextbox中光标没有反应,你能不能举个例子?
呵呵,对不起上面这个行不通。他只能滚动视窗,不能移动光标。好像EM_LINESCROLL也不行。我有点对Linus2000同志的观点先入为主 ^_^ 这样吧,很简单: Private Sub Command1_Click() Dim i As Integer RichTextBox1.SelStart = 0 RichTextBox1.SetFocus For i = 1 To CInt(Text1) - 1 SendKeys "{DOWN}" Next i End Sub
to nerk:你一定是vb高手吧?I was a beginner of VB,I don't know how to thank you!
Private Const EM_SCROLL = &HB5
Private Const SB_LINEDOWN = 1Public sub ScrollToLine(nScrollTo as integer)
Dim i as integer
for i=0 to nScrollTo-1
SendMessage RichTextBox1.hwnd,EM_SCROLL,SB_LINEDOWN, 0
next i
end if
这样吧,很简单:
Private Sub Command1_Click()
Dim i As Integer
RichTextBox1.SelStart = 0
RichTextBox1.SetFocus
For i = 1 To CInt(Text1) - 1
SendKeys "{DOWN}"
Next i
End Sub