延迟渲染

【勇芳软件工作室】汉化HomePreviousNext

将剪贴板格式放在剪贴板上时,窗口可以延迟渲染该格式的数据,直到需要数据为止。为此,应用程序可以为SetClipboardData函数的【HDATA】参数指定NULL。如果应用程序支持多种剪贴板格式,则这很有用,其中一些或全部都是耗时的。通过传递NULL句柄,只有当需要时,窗口才会呈现复杂的剪贴板格式。

如果窗口延迟呈现剪贴板格式,则必须准备好根据请求呈现格式,只要它是剪贴板所有者。当接收到尚未呈现的特定格式的请求时,系统将剪贴板所有者发送WM_RENDERFORMAT消息。收到此消息后,窗口应调用SetClipboardData函数,以所请求的格式将全局内存句柄放在剪贴板上。

如果剪贴板所有者被销毁并延迟渲染一些或所有剪贴板格式,则会收到WM_RENDERALLFORMATS消息。收到此消息后,窗口应在剪贴板上放置有效的内存句柄,以提供其所提供的所有剪贴板格式。这可以确保在剪贴板所有者销毁后,这些格式保持可用。

在响应WM_RENDERFORMAT或WM_RENDERALLFORMATS消息之前,应用程序不应打电话给SetClipboardData之前剪贴板。

任何没有呈现以响应WM_RENDERALLFORMATS消息的剪贴板格式都不再适用于其他应用程序,并且不再被剪贴板功能枚举。