关于复制粘贴剪切板功能VC中的实现!
来源:互联网 发布:php服务器程序 编辑:程序博客网 时间:2024/06/06 04:20
首先说明的是剪切板是系统提供的功能,可以用来实现进程间的通信,在VC中的实现也是很简单的。
以下是VC6.0 MFC环境:
- if(OpenClipboard()) //首先打开一个剪切板,如果成功则返回非0值
- {
- HANDLE hClip; //声明一个句柄
- CString str;
- char *pBuf;
- EmptyClipboard(); //置空这个剪切板,且得到剪切板的所有权
- GetDlgItemText(IDC_EDIT1,str);//将文本框的值赋给str
- hClip=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);
- //申请锁定一块存放数据的内存区域
- pBuf=(char *)GlobalLock(hClip);//得到指向内存区域的第一个字节指针
- strcpy(pBuf,str);//将文本框的值拷贝到内存中
- GlobalUnlock(hClip);//解除内存锁定
- SetClipboardData(CF_TEXT,hClip);//设置数据到剪切板中
- CloseClipboard();//关闭剪切板
- }
这样的话,输入在文本框的内容就已经被“复制”过了,此时正处于内存区域中,比如打开一个记事本,直接粘贴就能将内存提取出来,如此就做到了进城间的通信。
以下是“粘贴”的VC实现:
- if(OpenClipboard())//首先打开一个剪切板
- {
- if(IsClipboardFormatAvailable(CF_TEXT))//检查此时剪切板中数据是否为TEXT,可以设置成别的!
- {
- HANDLE hClip; //声明一个句柄
- char *pBuf;
- hClip=GetClipboardData(CF_TEXT);//得到剪切板的句柄
- pBuf=(char *)GlobalLock(hClip);//得到指向这块内存的指针
- GlobalUnlock(hClip);//解除内存锁定
- SetDlgItemText(IDC_EDIT2,pBuf);//将他设置给一个文本框显示
- CloseClipboard();//关闭此剪切板
- }
- }
这样就实现了“复制”,和“粘贴”的功能了,当然平时windows已经提供了此功能,不过我们主要还是利用它来进行进城间的通信。
原文:http://blog.csdn.net/jj12345jj198999/article/details/6653905
0 0
- 关于复制粘贴剪切板功能VC中的实现!
- 关于复制粘贴剪切板功能VC中的实现!
- iOS 剪切板 复制粘贴功能的实现。
- Qt剪切板实现“复制”“粘贴”功能
- VC++中的复制粘贴实现
- android 剪切板 (粘贴复制功能)
- Android 复制到剪切板和粘贴功能
- 实现 复制 粘贴功能
- 复制 粘贴 剪切板
- Vim 复制粘贴剪切板
- VC实现复制粘贴字符串
- swt.中的复制粘贴功能
- 关于网页实现像excel复制粘贴功能的问题
- JS实现复制/粘贴功能
- JS实现复制/粘贴功能
- javascript实现复制粘贴功能
- android 复制 粘贴 功能实现
- Android实现复制粘贴功能
- Java学习笔记——单例模式例子
- PCB板设计之Altium Design的使用技巧集锦
- 黄石公园超级火山即将喷发 世界关注
- 自定义View-垂直滚动的TextView
- OS X 快捷键
- 关于复制粘贴剪切板功能VC中的实现!
- redis简单实用
- 【问答】request.setAttribute()与request.getSession().setAttribute()的区别
- iOS —— 视图实现圆角效果方法及比较
- Tomcat在处理GET和POST请求时产生的乱码问题
- MATLAB图像处理之 imshow和imagesc
- akka构建简单分布式应用
- Android 之EditText自动弹出/不弹出输入法
- Eclipse 弹出“Failed to load the JNI shared library jvm.dll”