您现在的位置:中国下载站学院中心网络编程C++ Builder教程 → 文章列表

Borland C++Builder 5.0教程(11)

作者:佚名  来源:不详  发布时间:2006-12-29 13:44:37   

减小字体 增大字体

 
 

Builder中灵活使用剪贴板

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

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

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

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



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




itbulo.com/post.php?action=newthread&fid=51&extra=page%3D1" title="如有错误,麻烦请及时告诉我们,谢谢。" target="_blank">我要纠错】【itbulo.com/" target="_blank">进入论坛交流】【关闭此页】【iTbulo.net/" class="lblue" target="_blank">进入博客】

  加入相关代码:

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(当然也可以粘贴到自己里面)。




itbulo.com/post.php?action=newthread&fid=51&extra=page%3D1" title="如有错误,麻烦请及时告诉我们,谢谢。" target="_blank">我要纠错】【itbulo.com/" target="_blank">进入论坛交流】【关闭此页】【iTbulo.net/" class="lblue" target="_blank">进入博客】

二、使用剪贴板处理图形

 可以使用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; //恢复复制颜色为默认值




itbulo.com/post.php?action=newthread&fid=51&extra=page%3D1" title="如有错误,麻烦请及时告诉我们,谢谢。" target="_blank">我要纠错】【itbulo.com/" target="_blank">进入论坛交流】【关闭此页】【iTbulo.net/" class="lblue" target="_blank">进入博客】

  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); //显示图形

}




itbulo.com/post.php?action=newthread&fid=51&extra=page%3D1" title="如有错误,麻烦请及时告诉我们,谢谢。" target="_blank">我要纠错】【itbulo.com/" target="_blank">进入论坛交流】【关闭此页】【iTbulo.net/" class="lblue" target="_blank">进入博客】

在百度中搜索更多Borland C++Builder 5.0教程(11)相关网页 转贴于:中国下载站

  • 上一篇文章:Borland C++Builder 5.0教程(12)
  • 下一篇文章:Borland C++Builder 5.0教程(10)
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!