我是靠谱客的博主 想人陪酒窝,这篇文章主要介绍MFC中对于剪切板的简单操作,现在分享给大家,希望可以做个参考。

ASCII编码的文本为例:

复制操作:

char sc[]="要复制的文本";
HGLOBAL hmem=NULL;
if (OpenClipboard()) //是否成功打开剪帖板
{
    if (EmptyClipboard())//清空成功,则继续
    {
        hmem=GlobalAlloc(GHND,sizeof(sc));//memalloc strlen+1 
        char* pmem= (char*)GlobalLock(hmem);
        memcpy(pmem,sc,sizeof(sc));
        // SetClipboardData()
        SetClipboardData(CF_TEXT,hmem);
        GlobalUnlock(hmem);
    }
    //关闭剪贴板
    CloseClipboard();
}

粘贴操作:

//一、 判断剪贴数据格式是否是我们需要的
HGLOBAL hmem=NULL;
char s[256]="";
if (IsClipboardFormatAvailable(CF_TEXT)) //CF_UNICODETEXT
{
    //二、 打开剪贴板
    if (OpenClipboard())
    {
        //三、 获取剪贴板句柄
        hmem=GetClipboardData(CF_TEXT);
        if (hmem)
        {
             //四、 锁定全局内存获取缓冲区指针,
             char* ps=(char*)GlobalLock(hmem);
             //取出数据
             memcpy(s,ps,GlobalSize(hmem));
             //五、 关闭剪贴板,以使其它程序可以访问,释放掉内存锁
             GlobalUnlock(hmem);
        }
        CloseClipboard();
    }
}

转载于:https://blog.51cto.com/jincheng/1538972

最后

以上就是想人陪酒窝最近收集整理的关于MFC中对于剪切板的简单操作的全部内容,更多相关MFC中对于剪切板内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(119)

评论列表共有 0 条评论

立即
投稿
返回
顶部