有人上门服务成功过吗:VB剪贴板

来源:百度文库 编辑:中财网 时间:2024/05/09 06:23:14
计算机内存中的一片区域,存放最近从一个文件剪切或复制的内容。包含在剪贴板上的信息可以被插入(粘贴)到其他文档或应用程序中。

   VB中使用的剪贴板(Clipboard)就是Windows的一个应用程序。它可以提供文档之间的快速数据传送功能。剪贴板为用户提供了一块临时存储数据的空间,用户可以把数据(包括文本、图形等)放进存储区,也可以从存储区读取数据。VB直接支持Windows的Clipboard对象,但Clipboard不是VB本身的对象,所以Clipboard对象既无属性也无事件,但具有若干操作对象的方法。如下表1所示。

           表1 Clipboard对象的属性

方法

            功能

Clear

       清除剪贴板上的信息

   GetData

       从剪贴板上读取图形信息

   GetText

从剪贴板上读取文本信息

   SetData

       将图形拷贝到剪贴板

   SetText

将文本拷贝到剪贴板

        

   利用这些方法不仅可以实现文本的各类剪贴操作,还可以实现图形的剪贴操作。

二、文本剪贴

   在VB窗体上使用的文本框和组合框通过使用Clipboard对象的Clear、GetText、SetText等方法可以很容易地实现文本的复制、剪切、粘贴等功能。

   两个最有用的 Clipboard 方法是 SetText 和 GetText。如下图 所示,用这两个方法向剪贴板和从 Clipboard 传送字符串数据。下图 用 SetText 和 GetText 方法向剪贴板和从剪贴板传送数据。

   SetText 将文本复制到 Clipboard 上,替换先前存储在那里的文本。可将 SetText 作为一条语句使用。其语法如下:

   Clipboard.SetText data[, format]

   GetText 返回存储在 Clipboard 上的文本。也可将它作为函数使用:

   destination = Clipboard.GetText()

   将 SetText 和 GetText 方法,和“使用选定文本”中介绍的选择属性结合起来使用,可容易地编写文本框的“复制”,“剪切”和“粘贴”命令。下列一些事件过程,为以 mnuCopy,mnuCut 和 mnuPaste 命名的控件,实现了这些命令:

   Private Sub mnuCopy_Click ()     Clipboard.Clear     Clipboard.SetText Text1.SelText   End Sub   Private Sub mnuCut_Click ()     Clipboard.Clear     Clipboard.SetText Text1.SelText     Text1.SelText = ""   End Sub   Private Sub mnuPaste_Click ()     Text1.SelText = Clipboard.GetText()   End Sub

注意 如果它们都是菜单控件时,示例会工作得最好,这是因为 Text1 有焦点时可使用菜单。

   要注意的是 Copy 和 Cut 这两个过程,都要先用 Clear 方法将 Clipboard 清空。(因为可能要以几种不同的格式在 Clipboard 上放置数据,所以 Clipboard 不应自动清空。这在本章后面的“在 Clipboard 上使用多种格式”中有详细描述。然后,Copy 和 Cut 这两个过程,都用下面的语句将 Text1 中所选择的文本复制到 Clipboard 上:

   Clipboard.SetText Text1.SelText
在“粘贴”命令中,GetText 方法将返回 Clipboard 上当前的文本字符串。然后用一条赋值语句将该字符串复制到文本框的指定位置 (Text1.SelText)。如果当前没有被选定的文本,则 Visual Basic 将该文本放置在文本框中插入点处:
   Text1.SelText = Clipboard.GetText()

   该代码假定全部文本被传送到或传送出文本框 Text1,而用户可在 Text1 和其它窗体上的控件之间进行复制、剪切和粘贴。

   由于 Clipboard 是被整个环境所共享的,所以在 Text1 和任何正在使用剪贴板的应用程序之间,也能传送文本。

例题:在窗体文本框Text1中复制或剪切文本,将内容粘贴到文本框Text2中。

   (1)、界面:

  

   (2)、代码:

   Private Sub Command1_Click()
     Clipboard.Clear
     Clipboard.SetText Text1.SelText '把第一个文本框所选的文本复制到剪贴板
   End Sub

   Private Sub Command2_Click()
    Clipboard.SetText Text1.SelText
    Text1.SelText = ""
   End Sub

   Private Sub Command3_Click()
    Text2.SelText = Clipboard.GetText()
   End Sub

   (3)、运行效果:

三、图形剪贴

   在VB中使用的图形对象,可以通过Clipboard对象的Setdata、Getdata等方法实现图形的剪贴功能。

    例题、用命令按钮和图片框演示图形剪贴。

   (1)、界面:

    

    给图像框2加载一bmp文件:

    

   (2)、代码:

     Private Sub Command1_Click()
      Clipboard.Clear
      Clipboard.SetData Image1.Picture, 2 '把第一个图片框的位图放入剪贴板
     End Sub

     Private Sub Command2_Click()
      Clipboard.Clear
      Clipboard.SetData Image1.Picture
      Image1.Picture = LoadPicture("")
     End Sub

     Private Sub Command3_Click()
      Image2.Picture = Clipboard.GetData(2)
      '把剪贴板的内容复制到第二个图片框中
     End Sub