我想把一个文本框里的内容插入到另一个文本框里的光标所在处 该如何实现

解决方案 »

  1.   

    Option ExplicitPrivate Sub Form_Load()
        Text1.Text = "abc"
    End SubPrivate Sub Text2_GotFocus()
        Text2.SelText = Text1.Text
    End Sub
      

  2.   

    '下面这个函数可以获得鼠标在Text中的位置,把所有代码复制到标准模块中就可以调用了。Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongConst EM_GETLINE = &HC4
    Const EM_GETLINECOUNT = &HBA
    Const EM_GETSEL = &HB0
    Const EM_LINEFROMCHAR = &HC9
    Const EM_LINEINDEX = &HBB
    Const EM_LINELENGTH = &HC1
    Const EM_LINESCROLL = &HB6' 获得文本框中光标的所在位置
    ' hwnd 为文本框的句柄, LineNo 为光标所在的行数, ColNo 为光标所在的列数
    Sub GetTextCursorPos(ByVal hwnd As Long, ByRef LineNo As Long, ByRef ColNo As Long)
    Dim i As Long, j As Long, k As Long
    Dim lParam As Long, wParam As Long
    i = SendMessage(hwnd, EM_GETSEL, wParam, lParam)
    j = i / 2 ^ 16                                      '取得目前光标前面有多少个字节
    LineNo = SendMessage(hwnd, EM_LINEFROMCHAR, j, 0)   '取得前面有多少行
    LineNo = LineNo + 1
    k = SendMessage(hwnd, EM_LINEINDEX, -1, 0)          '取得目前光标所在行前面有多少个字节
    ColNo = j - k + 1
    End Sub
      

  3.   

    忘了说了,获得鼠标在Text中的位置后,插入文件就非常easy了。
      

  4.   

    对不起,说错了,不是鼠标所在位置,是光标在Text中的位置。