我造一个文本框的selchange事件中写如下面代码
Private Sub Text1_SelChange()
If Clipboard.GetText <> "" Then
niantie.Enabled = True            '粘贴菜单可用
Toolbar1.Buttons(7).Enabled = True   '粘贴按钮可用
Else
niantie.Enabled = False                '粘贴菜单不可用
Toolbar1.Buttons(7).Enabled = f          '粘贴按钮不可用
End IfIf Len(Clipboard.GetText) > 50 Then
Bar.Panels(2).Text = "剪贴板内容:" & Left$(Clipboard.GetText, 50) & "..."    
'工具栏显示剪贴板内容
Else
Bar.Panels(2).Text = "剪贴板内容:" & Clipboard.GetText
End If
end sub目的是监视剪贴板内容和判断粘贴菜单是否可用
可是我打开另一个窗体并在窗体中中的文本框(name属性为:text1)中使用粘贴命令时却提示剪贴板不能打开!
错误为:521单更奇怪的是,如果在另一个窗体的name属性为:text2的文本框中却可以粘贴,简直是有意和我过不去嘛!!那位高手解答一下啊?有什么方法解决?

解决方案 »

  1.   

    文本框有SelChange事件?
    万分奇怪。。
      

  2.   

    要监控CLIBBOARD你该把自己注册到CLIPBOARDVIEWER CHAIN里去,否则你是得不到内容是否改变的消息的。
      

  3.   

    对不起,使我高错啦,是放在richtextbox的selchange时间中
    这样不能监控剪贴板吗?
    楼上的不太清楚,请讲解一下
      

  4.   

    原来楼主要实现监视剪贴板,两中方法
    1。timmer轮询
    2。如楼上所述
    基本实现方法:
    http://www.xnovo.com/doc/html/afaebd/bhaedbaapcihhdrdzcye.html
    vb的代码:
    http://www.vbaccelerator.com/home/VB/Code/Libraries/Clipboard/index.asp
      

  5.   

    晕死,里面的是sdk和mfc的代码.............
    马甲能否改成vb代码?
      

  6.   

    一是把自己注册为剪帖板查看队列的成员,二是为自己写个消息处理程序来取代缺省的那个,接收到changeclipboard消息后做自己的预订任务,把消息转给排你后面的,结束。
      

  7.   

    在RichText的SelChange事件中,剪贴板的内容并未改变,此时监测剪贴板是没有意义的。你或许可以在MouseUp事件中判断:
    if clipboard.gettext<>"" then ......