VB TEXT 控件允许多行显示时,怎么样实现当前显示的最后一行数据为新加的一行
text1.text=text1.text & newdata & vbclrf 显示的永远是第一行数据,我先实现显示当前显示页最后一行为最新数据,谢谢

解决方案 »

  1.   

    text不好做 你试试list 
    每次天机以后动态让新的为list(0)
    其他的向后移动
      

  2.   

    Option ExplicitPrivate 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_LINESCROLL = &HB6Private Sub Command1_Click()
        Static a#
        a = a + 1
        Text1.Text = Text1.Text & CStr(a) & vbCrLf
        SendMessage Text1.hwnd, EM_LINESCROLL, 0, 0
    End SubPrivate Sub Form_Load()
        Dim i&
        For i = 1 To 50
            Text1.Text = Text1.Text & CStr(i) & vbCrLf
        Next i
        SendMessage Text1.hwnd, EM_LINESCROLL, 0, 0
    End Sub
      

  3.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim s As String
        Static i As Integer
        i = i + 1
        s = "abcdefg" & vbCrLf
        With Text1
            .Text = .Text & i & "." & s
            .SelStart = Len(.Text)
        End With
    End Sub
      

  4.   

    text1.text=text1.text & newdata & vbclrf
    text1.SelStart = Len(text1.Text)