自定义剪贴板

本文介绍了如何在MFC应用中创建自定义剪贴板格式。首先在视图类中声明静态的自定义剪贴板类型,然后注册该格式。在`OnEditCopy`函数中,序列化选择的数据并将其存储到剪贴板。在`OnEditPaste`函数中,检查剪贴板数据并执行粘贴操作。这允许特定文档类型之间的数据交换。
摘要由CSDN通过智能技术生成
在视图类中为文档创建一个新的剪切板类型。拥有这种剪贴板类型的文档可以粘贴到该剪贴板,但其他类型的文档不行。创建自己的自定义格式,要遵循在注册任何自定义剪贴板格式时,使用相同的过程;将格式名称传递给RegisterDlipboardFormat函数,然后使用其返回值作为格式表示符,具体方法是:
1.     在视图类的声明文档中声明一个静态的自定义剪贴板类型:
Static CLIPFORMAT m_cfDraw;//自定义剪贴板格式
2.     在视图类实现文档中注册自定义剪贴板格式:
CLIPFORMAT CvisDrawView::m_cfDraw = (CLIPFORMAT)
::RegisterClipboardFormat(_T(“VISDRAW”));
RegisterClipboardFormat是Win32 API函数,它注册一个新的剪贴板格式,此后这个格式可作为有效的剪贴板格式。RegisterClipboardFormat的原型是:
UINT RegisterClipboardFormat( LPCTRSTR lpszFormat //新格式名称);
如果注册格式已经存在,将返回已经存在格式的值而不是注册新的格式。这样做的好处是可以在多个应用程序中使用同一种格式来复制和粘贴数据。
void CHookupDrawView::OnEditCopy()
{
         // TODO: 在此添加命令处理程序代码
         ASSERT_VALID(this);
         ASSERT(m_cfDraw != NULL);
 
         // 创建一个共享文件并把它与 CArchive 相关联
         CSharedFile file;
         CArchive ar(&file, CArchive::store);//CArchive::store 指存储数据到 file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值