表 7.3 TClipboard的方法 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 方 法 参 数 意 义 ───────────────────────────────────── Clear 无 清除剪贴板的内容 Assign Source:TPersistent 把Source参数指定的对象拷贝到剪贴板,常 用于图形、图像对象 Open 无打开剪贴板,阻止其它应用程序改变它的内容 Close 无 关闭打开的剪贴板 SetComponent Source:TPersistent 把部件拷贝到剪贴板 GetComponent Owner 从剪贴板取回一个部件并放置 Parent :TPersistent SetAsHandle Format:Word 把指定格式数据的句柄交给剪贴板 返回类型:THandle GetAsHandle Format:Word 返回剪贴板指定格式数据的句柄 返回类型:THandle HasFormat Format:Word 判断剪贴板是否拥有给定的格式 返回类型:Boolean SetTextBuf Buffer:PChar 设置剪贴板的文本内容 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 剪贴板中可能的数据格式如下表。 表 7.4 剪贴板数据格式及其意义 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 数据格式 意 义 ────────────────────────────── CF_TEXT 文本。每行以CF_LF结束,nil标志文本结束 CF_BITMAP Windows位图 CF_METAFILE Windows元文件 CF_PICTURE TPicture类型的对象 CF_OBJECT 任何TPersistent类型的对象 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 利用TClipboard实现文本的传输使用AsText属性和SetTextBuf方法。 AsText属性为非控件部件的剪贴板操作提供了方便。如: Clipboard. AsText := Form1.Caption ; 把Form1的标题拷贝到剪贴板。 Label1.Caption := Clipboard.AsText; 把剪贴板中的文本写入Label1。 SetTextBuf用于把超过255个字符的字符串拷入剪贴板。 7.1.3 利用剪贴板传输图像 7.1.3.1 拷贝 Image部件上的内容和窗体上的图形可以直接拷贝到剪贴板。图像拷贝利用Clipboard的Assign方法。 例如: Clipboard.Assign(Image1.Picture); 把Image1上的图像拷贝到剪贴板。 7.1.3.2 剪切 图像的剪切是首先把图像拷贝到剪贴板,而后在原位置用空白图像进行覆盖。 下面一段程序表示了图像的剪切。 procedure TForm1.Cut1Click(Sender: TObject); var ARect: TRect; begin Clipboard.Assign(Image1.Picture); with Image.Canvas do begin CopyMode := cmWhiteness; ARect := Rect(0, 0, Image.Width, Image.Height); CopyRect(ARect, Image.Canvas, ARect); CopyMode := cmSrcCopy; end; end;  
2/2 首页 上一页 1 2 |