VB编程中巧辨剪贴板格式
我们在VB编程中,无论是使用TEXT控件还是RichTextBox控件,或PICTURE控件,最后都不可避免地要与Windows做交互,这时CLIPBOARD(剪贴板)就派上用场了。假设我自写的窗口上有一个TEXT1控件,和两个COMMAND按钮——“复制”和“粘贴”,而你只是用TEXT1做暂时储存一些ASCII文本用的平台(比如复制一些碰巧遇到的网址),然后再转存到其他文本文件中去。
一、文本的复制与粘贴
第一步: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编程中巧辨剪贴板格式
- ·上一篇:去除Premiere中文字体显示的Bug
- ·下一篇:Maxthon Access让文件共享自由自在
- › VB编程中巧辨剪贴板格式
- › vb编程 msgbox怎么使?
- 在百度中搜索相关文章:VB编程中巧辨剪贴板格式
tag: 剪贴板 软件技巧,软件技巧大全,电脑学习 - 软件技巧
热门推荐
- · 为何QQ总弹出安全登录验证2则
- · 多媒体升级时常见故障的处理
- · 利用硬盘驱动器号制作防扩散FOXPRO程序
- · 高速视频转换借力CUDA
- · 在KMPlayer中手动切换解码器
- · 如何突破IP加MAC绑定
- · 如何让ACDSee成为默认的图片浏览器
- · SnagIt连续抓以多个窗口
- · SnagIt直接截取灰度图片
- · Nero快速制作精美的光盘封面
- · 完美卸载XP快速卸载顽固软件
- · VoptXP测试驱动器性能
- · VirturlDriver让虚拟光驱开机时自动加载
- · 通过递归调用来搜索文件
- · AutoCAD复制粘贴图纸导致死机
- · 监控软件导致QQ无法登录
- · 提高WindowsXP启动速度的方法
- · Office 2007无法正常卸载怎么办
- · 如何用批处理一次建立或删除多个目录
- · 教你Windows百毒不侵的13个妙招
- · ATI显卡在线看电影时花屏应该如何解决