使用Visual C++实现OLE剪贴板
2008-11-13 19:30:10 来源:WEB开发网---- 复制、剪切和粘贴数据
---- 将数据复制或剪切到剪贴板上
---- 1. 确定将要被复制的数据是一个本地数据还是一个嵌入对象或链接。
---- 如果数据是一个嵌入对象或链接,创建一个指向被选定数据的COleClientItem指针。
---- 如果数据是本地化的并且应用程序是一个服务器,那么从COleServerItem继承一个新的类,并创建该对象。否则,为数据建立一个COleDataSource对象。
---- 2. 访问选定对象的CopyToClipboard成员函数。
---- 3. 如果用户选择剪切命令而不是复制,那么从你的应用程序中删除那些数据。
---- 程序示例:
void CMainView::OnEditCut()
{
ASSERT(m_pSelection != NULL);
TRY
{
m_pSelection- >CopyToClipboard(TRUE);
OnEditClear();
}
CATCH_ALL(e)
{
AfxMessageBox(IDP_CLIPBOARD_CUT_FAILED);
}
END_CATCH_ALL
}
void CMainView::OnEditCopy()
{
ASSERT(m_pSelection != NULL);
TRY
{
m_pSelection- >CopyToClipboard(TRUE);
}
CATCH_ALL(e)
{
AfxMessageBox(IDP_CLIPBOARD_COPY_FAILED);
}
END_CATCH_ALL
}
---- 从剪贴板粘贴数据
---- 粘贴数据比复制更加复杂,因为你需要选择粘贴的格式。
---- 1. 在你的视中,实现OnEditPaste来处理用户从编辑菜单选择粘贴命令的操作。
---- 2. 在OnEditPaste函数中,建立一个COleDataObject对象并且访问它的AttachClipboard成员函数来将这个对象绑定到剪贴板。
更多精彩
赞助商链接