6.1.9 使用剪贴板处理图形 可使用Windows的剪贴板在应用程序中复制和粘贴图形,或与其他应用程序交换图形。VCL的Clipboard对象使得处理不同类型的数据(包括图形)变得更为容易。
在使用Clipboard对象之前,必须把头文件Clipbrd.hpp加到需要访问Clipboard数据的.cpp文件中。 1.把图形复制到剪贴板 可将任何图片,包括图像控件的内容都复制到剪贴板中。一旦复制到剪贴板上,图片就可供所有的Windows程序使用。 要把图片复制到剪贴板,需用Assign方法把图片对象分配给Clipboard对象。 下列代码说明在响应单击Edit|Copy菜单项时,如何把图片从图像控件Image复制到剪贴板。
2.把图形剪切到剪贴板中 把图形剪切到剪贴板和复制相同,只是同时也将源图形删除。 要把图形从图片对象剪切到剪贴板,首先把它复制到剪贴板中,然后删除原有图形。大多数情况下,剪切的唯一问题是如何显示原有图像已被删除。通常的做法是把所剪切的区域设为白色,下列代码为Edit|Cut菜单项的OnClick事件处理程序。
3.从剪贴板中粘贴图形 若WindowsClipboard包含位图图形,可将它粘贴到任意图像对象,包括图像控件和窗体表面。
要从剪贴板中粘贴图形: 1) 调用Clipboard的HasFormat方法检查剪贴板中是否包含图形。HasFormat是一个布尔型函数。若剪贴板中包含一个由参数指定的类型的项,则HasFormat返回true。为检查图形,可传入参数CF_BITMAP。 2) 将Clipboard对象分配给目标对象。 下列代码说明在响应单击Edit|Paste菜单项时,如何把图片从剪贴板中粘贴到图像控件。
剪贴板中的图形可能来自应用程序内,也可能从其他应用程序复制而来,如WindowsPaintbrush。这种情况下不需要检查剪贴板格式,因为若剪贴板中不包含支持的格式时,粘贴菜单将会被禁用。  
|