在一个窗体上有一个文本框(可输入多行文字),想用光标点击任意位置,然后在光标位置插入一段字符?

解决方案 »

  1.   

    Text1.SetFocus
    SendKeys "this is test", True
      

  2.   

    用SendKeys可以,如果速度要求高的话,SendKeys可能会造成系统死机
      

  3.   

    我想楼主的意思应该不是楼上所说的吧.
    你可以先往文本框里填空空格就行.如text1.text=space(10000)
      

  4.   


    Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    SendKeys "your words", True
    End Sub
      

  5.   

    Private Sub Form_Load()
        Text1.Text = "abcdefghijk"
    End SubPrivate Sub Text1_click()
        Dim str As String
        Dim str1 As String
        Dim str2 As String
        
        str = Text1.Text
        str1 = Mid(str, 1, Text1.SelStart)
        str2 = Mid(str, Text1.SelStart + 1, (Len(Text1.Text) - Text1.SelLength))
        str = str1 & "0000" & str2
        Me.Text1.Text = strEnd Sub
      

  6.   

    '最近写的
    'str是您要插入的内容。private sub insertSign(str as string)
       Dim strText As String
       Dim lngSelstart As Long   strText = text1.Text
       lngSelstart = text1.SelStart   If lngSelstart = 0 Then
          strText = str & strText
       Else
          strText = Mid$(strText, 1, lngSelstart) & str & _
                    Mid$(strText, (lngSelstart + 1), Len(strText) - lngSelstart)
       End If
       lngSelstart = lngSelstart + 1
    end sub'如此调用
    str="Hello!"
    call insertSign(str)
      

  7.   

    '最近写的
    'str是您要插入的内容。private sub insertSign(str as string)
       Dim strText As String
       Dim lngSelstart As Long   strText = text1.Text
       lngSelstart = text1.SelStart   If lngSelstart = 0 Then
          strText = str & strText
       Else
          strText = Mid$(strText, 1, lngSelstart) & str & _
                    Mid$(strText, (lngSelstart + 1), Len(strText) - lngSelstart)
       End If
       lngSelstart = lngSelstart + 1
       text1.text=strtext
       text1.selstart=lngselstart
    end sub'如此调用
    str="Hello!"
    call insertSign(str)