设为首页 加入收藏

TOP

剪贴簿(十八)
2010-12-30 21:14:24 来源: 作者: 【 】 浏览:19918
Tags:剪贴
可能想用剪贴簿来储存「自订资料格式」。许多文书处理程式使用这种技术来储存包含著字体和格式化资讯的文字。

初看之下,这个概念似乎是没有意义的。如果剪贴簿的作用是在应用程式之间传送资料,那么,为什么剪贴簿中要含有只有一个应用程式才能理解的资料呢?答案很简单:剪贴簿允许在同一个程式的内部(或者可能在一个程式中的不同执行实体之间)传送资料。很明显地,这些执行实体能理解它们自己的自订资料格式。

有几种使用自订资料格式的方法。最简单的方法用到一种表面上是标准剪贴簿格式(文字、点阵图或metafile)的资料,可是该资料实际上只对您的程式有意义。这种情况下,在SetClipboardData和GetClipboardData呼叫中可使用下列wFormat值:CF_DSPTEXT、CF_DSPBITMAP、CF_DSPMETAFILEPICT或CF_DSPENHMETAFILE(字母DSP代表「显示器」)。这些格式允许Windows按文字、点阵图或metafile来浏览或显示资料。但是,另一个使用常规的CF_TEXT、CF_BITMAP、CF_DIB、CF_METAFILEPICT或CF_ENHMETAFILE格式呼叫GetClipboardData的程式将不能取得这个资料。

如果用其中一种格式把资料放入剪贴簿中,则必须使用同样的格式读出资料。但是,如何知道资料是来自程式的另一个执行实体,还是来自使用其中某种资料格式的另一个程式呢?这里有一种方法,可以透过下列呼叫首先获得剪贴簿所有者:

然後可以得到此视窗代号的视窗类别名称:

如果类别名称与程式名称相同,那么资料是由程式的另一个执行实体传送到剪贴簿中的。

使用自订资料格式的第二种方法涉及到CF_OWNERDISPLAY旗标。SetClipboardData的整体记忆体代号是NULL:

这是某些文书处理程式在Windows的剪贴簿浏览器的显示区域中显示格式化文字时所采用的方法。很明显地,剪贴簿浏览器不知道如何显示这种格式化文字

首页 上一页 15 16 17 18 19 20 21 下一页 尾页 18/27/27
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC中各种后缀文件含义 下一篇对话方块

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: