码迷,mamicode.com
首页 > 其他好文 > 详细

MFC中对于剪切板的简单操作

时间:2014-08-12 17:42:25      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:剪切板 mfc 复制 粘贴

ASCII编码的文本为例:

复制操作:

char sc[]="要复制的文本";
HGLOBAL hmem=NULL;
if (OpenClipboard()) //是否成功打开剪帖板
{
    if (EmptyClipboard())//清空成功,则继续
    {
        hmem=GlobalAlloc(GHND,sizeof(sc));//memalloc strlen+1 \0
        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();
    }
}

MFC中对于剪切板的简单操作,布布扣,bubuko.com

MFC中对于剪切板的简单操作

标签:剪切板 mfc 复制 粘贴

原文地址:http://jincheng.blog.51cto.com/4625177/1538972

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!