我是靠谱客的博主 想人陪酒窝,最近开发中收集的这篇文章主要介绍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中对于剪切板的简单操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部