Public Const WM_PASTE = &H302 '粘贴
SendMessage RichTextBox1.hWnd, WM_PASTE, 0, ByVal 0& '粘贴
使用这个语句可以进行粘贴但如果改为,'粘贴到Form1窗体,就不行,为什么呢?
SendMessage Form1.RichTextBox1.hWnd, WM_PASTE, 0, ByVal 0& '粘贴

解决方案 »

  1.   

    但如果改为,'粘贴到Form1窗体,就不行,为什么呢?
    SendMessage Form1.RichTextBox1.hWnd, WM_PASTE, 0, ByVal 0& '粘贴语句也没有提示出错,但是Form1.RichTextBox1根本没有粘贴成功. 现在怀疑SendMessage的句柄是不是,只可以粘贴回ME窗体的控件里面呢?
      

  2.   

    Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
    Public Const WM_PASTE As Long = &H302
    SendMessage Form1.Text1.hwnd, WM_PASTE, 0&, 0&
    SendMessage Form2.Text1.hwnd, WM_PASTE, 0&, 0&经过试验没有任何问题!!!
      

  3.   

    province_(雍昊) ( ) 信誉:100    Blog 
    我也测试啦,确实没问题.但是我再到我的程序里面测试,也不行.可能问题在于别外一个地方
    其中Form1窗体是用      Dim FrmD As form1
          Set FrmD = New form1
          With FrmD
          .Caption = "正在和 [ " & UserName & " ]对话中..."
          .Tag = UserId
          .Show
          End With
          Set FrmD = Nothing      
    是不是新建的窗体,不可以呢?
      

  4.   

    你看下失败的sendmessage 的返回值,如果返回值说调用失败的话,你用Err.LastDllError获得下错误号。再到msdn里面看是什么错误引起的
      

  5.   

    谢谢,解决啦,原来就是
    Dim FrmD As form1
    Set FrmD = New form1
    的问题,最后用  For Each Fe In Forms找出当前窗体,解决拉
      

  6.   

    你产生了新的实例就不应该用Form1.Text1.hwnd应该用FrmD.Text1.hwnd