Vb教程 Vb.net教程 Vfp教程 C/C++教程 Vc/Vc++教程 Delphi教程 Java教程 Powerbuilder
  杀毒频道 | 短信频道 | 网络电视 | 论文中心 | 学上网 | 学软件 | 网页特效 | 电脑基础 | 论坛  
  NCRE | 软考 | CET | 职称英语 | 司法考试 | 报关员 | 公务员 | CATTI | CPA考试  
  Html教程 | Css教程 | Xml教程 | Asp教程 | Asp.net | Php教程 | Jsp教程 | Linux教程 | QQ技巧  
Photoshop Illustrator ImageReady Maya教程 3D Max教程 Lightscape Coredraw教程 Authorware Autocad教程 Freehand教程
Access教程 Mysql教程 Sql server Oracle教程 Word教程 Excel教程 Powerpoint Frontpage Asp.net源码 Php源代码
Flash教程 Fireworks Dreamweaver C#教程 outlook教程 系统安装 vbscript教程 Javascript Jsp源代码 Asp源代码
您的位置:首页 >> C/C++教程 >> 正文

Borland C++Builder 5.0教程(11)
文章来源:pconline 作者:陈明浩

Builder中灵活使用剪贴板

   剪贴板(ClipBoard)是Windows应用程序中运用得最多最普遍的工具,它是Windows系统自带的。通过剪贴板,应用程序可以剪切、拷贝以及粘贴文本、图形和对象。C++Builder的编辑组件封装了标准的Windows文本处理控件,它们内嵌了与剪贴板交互的所有方法。所以用Builder开发与剪贴板有关(如需要剪切、拷贝以及粘贴文本和图形)的应用程序十分简单方便。

一、使用剪贴板剪切、拷贝和粘贴文本

  要使用剪贴板剪切、拷贝及粘贴文本,可以分别调用编辑组件的CutToClipboard、CopyToClipboard及PasteFromClipboard方法。

如下例子中。分别在Form上放两个RichEdit和两个PopMenu控件,一个RichEdit对应一个PopMenu:



  编辑PopMenu,加入剪切、复制以及粘贴三项内容:

 加入相关代码:

void __fastcall TForm1::C1Click(TObject *Sender)

{

RichEdit1->CutToClipboard();

}

void __fastcall TForm1::N1Click(TObject *Sender)

{

RichEdit1->CopyToClipboard();

}

void __fastcall TForm1::P1Click(TObject *Sender)

{

RichEdit1->PasteFromClipboard();

}

void __fastcall TForm1::T1Click(TObject *Sender)

{

RichEdit2->CutToClipboard();

}

void __fastcall TForm1::C2Click(TObject *Sender)

{

RichEdit2->CopyToClipboard();

}

void __fastcall TForm1::P2Click(TObject *Sender)

{

RichEdit2->PasteFromClipboard();

}

   运行程序,通过右键菜单,你可以把RichEdit的内容剪切,或者复制到另外一个RichEdit(当然也可以粘贴到自己里面)。

二、使用剪贴板处理图形

  可以使用Windows的剪贴板在应用程序中复制、剪切和粘贴图象,或者与其他应用程序交换图形。Builder的VCL的对象使得处理不同类型的数据(包括图形)变得更为容易。



  在使用Clipboard对象之前,必须把头文件Clipbrd.hpp加到需要访问的Clipboard数据的.cpp文件中。

即在.cpp文件中加入:#include
1、把图形复制到剪贴板

   可以将任何图片,包括图象控件的内容都复制到剪贴板中。一旦复制到剪贴板上,图片就可供所有的Windows程序使用。

   要把图形复制到剪贴板,需要用Assign方法把图片对象赋值给对象。

   下面代码是把图象控件Image1复制到剪贴板:

Clipboard()->Assign(Image1->Picture);

   2、把图形剪切到剪贴板中

   把图形剪切到剪贴板和复制相同,只是同时也将源图形删除。通常的做法是首先把它复制到剪贴板,然后把所剪切的区域设为黑色。

实现代码如下:

TRect ARect;

Clipboard()->Assign(Image1->Picture); //把图形复制到剪贴板

Image1->Canvas->CopyMode=cmBlackness; //把复制颜色设为黑色

ARect=Rect(0,0,Image1->Width,Image1->Height);

Image1->Canvas->CopyRect(ARect,Image1->Canvas,ARect);// 把所剪切的区域设为黑色

Image1->Canvas->CopyMode=cmSrcCopy; //恢复复制颜色为默认值

  3、从剪贴板粘贴图形

   若Windows 的Clipboard包含位图图形,可将它粘贴到任意图象对象,包括图象控件和窗体控件。剪贴板的图形可以来自应用程序内,也可以从其他应用程序复制而来。

   要从剪贴板粘贴图形:



(1)调用的HasFormat方法检查剪贴板中是否包含图形。传入参数CF_BITMAP,若剪贴板中包含图形,则返回true。

  (2)将对象赋值给目标对象。

实现代码如下:

Graphics::TBitmap *Bitmap; //定义一个位图变量指针

if(Clipboard()->HasFormat(CF_BITMAP)) //判断剪贴板中是否有图形

{

Image2->Picture->Bitmap->Assign(Clipboard()); //将对象中的图形赋值给目标对象

Image2->Canvas->Draw(0,0,Bitmap); //显示图形

}

[返回]

编程语言 web开发 数据库 网络技术 操作系统 服务器 网页设计 图形设计 办公软件 常用软件 学电脑

Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved.
关于本站 | 版权声明 | 联系我们 | 友情链接 |
编程入门网 版权所有