在程式的开始部分(以及您从「Edit」功能表中选择「Reset」选项时),静态变数pText包含一个指标,在Unicode版的程式中,指标指向Unicode字串「Default Text -Unicode version」;在非Unicode版的程式中,指标指向「Default Text - ANSI version」。您可以用「Cut」或「Copy」命令将字串传递给剪贴簿,用「Cut」或「Delete」命令从程式中删除字串。「Paste」命令将剪贴簿中的文字内容复制到pText。在WM_PAINT讯息处理期间,pText将字串显示在程式的显示区域。
如果您先在Unicode版的CLIPTEXT中选择了「Copy」命令,然後在非Unicode版中选择「Paste」命令,那么您就能看到文字已经从Unicode转换成了ANSI。类似地,如果您执行相反的操作,那么文字就会从ANSI转换成Unicode。
复杂的剪贴簿用法
我们已经看到,在将资料准备好之後,从剪贴簿传输资料时需要四个呼叫:
存取这些资料需要三个呼叫
在GetClipboardData和CloseClipboard呼叫之间,可以复制剪贴簿资料或以其他方式来使用它。很多应用程式都需要采用这种方法,但也可以用更复杂的方式来使用剪贴簿。
利用多个资料项目
当打开剪贴簿并把资料传送给它时,必须先呼叫EmptyClipboard,通知Windows释放或删除剪贴簿上的内容。不能在现有的剪贴簿内容中附加其他东西。所以,从这种意义上说,剪贴簿每次只能保留一个资料项目。
但是,可以在EmptyClipboard和CloseClipboard呼叫之间多次呼叫SetClipboardData,每次都使用不同的剪贴簿格式。例如,如果想在剪贴簿中储存一个很短的文字字串,可以把这个文字写入me