一、文本的复制与粘贴
第一步:Command1(复制)按钮中使用Clear方法清除剪切板中原有的内容,然后用SETDATA方法(也可以是用SETTEXT方法,用法相同,但只能获得普通的文本信息,SETDATA可以获取多种格式的信息,但需要配合GETFORMAT方法来使用,文章后面将会提到) 来获取TEXT1控件的内容:
Private Sub Command1_Click()Clipboard.Clear
Clipboard.SetData Text1.Text, vbCFText
End Sub这里须特别注意的就是,一定要先将剪切板的内容Clear掉,否则下一步的复制将无法成功,因为剪切板内的内容是无法覆盖的。
第二步:Command2(粘贴 )按钮中使用GETDATA方法获取已经储存在剪切板中的内容:Private Sub Command2_Click()
If Text1.Text <> "" ThenText1.Text = Text1.Text & Chr(13) & Chr(10) & Clipboard.GetText()
ElseText1.Text = Clipboard.GetText()
End IfEnd Sub
二、多种格式的辨识这个例子算完成了,可是也许有的朋友会问,如果我做的是一个混合图形文本编辑的工具怎么办?不可能所有的格式我都会预先知道啊。其实这也是刚才我提到的问题。经过仔细研究后发现了下面的解决方法:
这里需要用到CLIPBOARD的GETFORMAT方法与和它对应的几个返回值,由于返回值较多,这里只列举几个常用的。1.vbCFEMetafile :Windows的元文件
2. vbCFBitmap:位图3.vbCFpalette:Windows调色板
4.vbCFtext:普通的文本5.vbCFrtf: 多信息文本格式
GETFORMAT方法:GETFORMAT方法我要重点提一下,它有返回值,且不能返回多值,只能返回Boolean型的单值,所以使用GETFORMAT方法,我们就要用到IF……ELSEIF 的嵌套了:
WithWith Clipboard
If .GetFormat(vbCFText) Then………..
ElseIf .GetFormat(vbCFBitmap) Then………
ElseIf .GetFormat(vbCFRTF) Then……..
ElseIf .GetFormat(vbCFFiles) Then……..
ElseIf .GetFormat(vbCFMetafile) Then……..
End IfEnd With
到此,我们已经成功实现了VB编程中剪贴板多格式素材的辨识。,VB编程中巧辨剪贴板格式