首页 > 代码库 > MFC中对于剪切板的简单操作
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(); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。