以下是 CWnd::SetClipboardViewer 的基本语法:
HWND SetClipboardViewer();
该方法会将调用它的窗口注册为剪贴板观察者,并返回之前注册的剪贴板观察者的句柄。通常,你可以使用这个方法在窗口之间实现剪贴板内容的同步。
使用示例:
// 在窗口创建时注册为剪贴板观察者
BOOL CMyWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// 注册为剪贴板观察者
m_hPrevClipboardViewer = SetClipboardViewer();
return 0;
}
在这个例子中,在窗口创建时通过调用 SetClipboardViewer 注册当前窗口为剪贴板观察者,并保存之前的剪贴板观察者句柄。在窗口销毁时,你通常需要使用 ChangeClipboardChain 方法来移除窗口的剪贴板观察者身份。
// 在窗口销毁时移除剪贴板观察者
void CMyWnd::OnDestroy()
{
// 移除剪贴板观察者身份
ChangeClipboardChain(m_hPrevClipboardViewer);
CWnd::OnDestroy();
}
这样,窗口在销毁时会正确地移除剪贴板观察者。在实际应用中,你可能还需要处理剪贴板变化的通知,这可以通过覆写窗口的 OnDrawClipboard 和 OnChangeClipboardChain 函数来实现。
转载请注明出处:http://www.pingtaimeng.com/article/detail/23547/MFC/CWnd