控制光标位置,用SelStart属性

解决方案 »

  1.   

    我是想定位到我想要的行,SelStart不好控制,因为每行的字节数又不一样,因而它所移动的行数就有可能不一样了。
      

  2.   

    记得,有一个API函数可以获得鼠标所在的单词,那么也定有一个可以获得所在行数的,你找找这方面的资料,另外要想隐藏鼠标必须使用API.
      

  3.   

    让你满意的例子-滚动#行:Private Declare Function PutFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
    Function ScrollText(TextBox As Control, vLines As Integer) As Long
        Dim Success As Long
        Dim SavedWnd As Long
        Dim R As Long
        
        Const EM_LINESCROLL = &HB6
        
        SavedWnd = Screen.ActiveControl.hwnd
        Lines& = vLines
        
        Success = SendMessage(TextBox.hwnd, EM_LINESCROLL, 0, Lines&)
        
        R = PutFocus(SavedWnd)
        
        ScrollText = SuccessEnd Function
    使用:
        Num& = ScrollText&(Text1, -5) 'Text1控件向上滚动5行
     
        Num& = ScrollText&(Text1, 10) 'Text1控件向下滚动10行
      

  4.   

    显示/隐藏鼠标:Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As LongPublic Sub ShowMouse(Optional ByVal blnState As Boolean = True)
       
        ShowCursor blnStateEnd Sub使用:
    隐藏:ShowMouse False
    显示:ShowMouse/ShowMouse True
      

  5.   

    优化改造一下 :-)Private Declare Function PutFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As LongPrivate Const EM_LINESCROLL = &HB6
    Public Function ScrollText(ByRef TextBox As Control, ByVal lngLines As Integer) As Long
        
        Dim o_lngSuccess As Long
        Dim o_lngActiveWnd As Long
        Dim o_lngRet As Long
            
        o_lngActiveWnd = Screen.ActiveControl.hwnd
        
        o_lngSuccess = SendMessage(TextBox.hwnd, EM_LINESCROLL, 0, lngLines)
        
        o_lngRet = PutFocus(o_lngActiveWnd)
        
        ScrollText = o_lngSuccessEnd Function