剪切板的使用: 复制 粘贴

 

使用OnCopy() 响应复制操作:

 

将字符串nStr复制到剪切板中

			//剪切板操作
			if(!OpenClipboard())
			{
				AfxMessageBox(L"不能打开剪贴板!");
				return;
			}
			if(!EmptyClipboard())
			{
				AfxMessageBox(L"不能清空剪贴板!");
				CloseClipboard();
				return;
			}
			HGLOBAL hGlobal;
			LPTSTR pGlobal;
			//分配全局空间
			hGlobal=GlobalAlloc(GMEM_DDESHARE,nStr.GetLength()*2+2);
			pGlobal=(LPTSTR)GlobalLock(hGlobal);
			//为空间赋值
			lstrcpy(pGlobal,nStr);
			GlobalUnlock(hGlobal);

			//将内存hGlobal上的数据按一定格式复制到剪切板中
			if(!SetClipboardData(CF_UNICODETEXT,hGlobal))
			{
				AfxMessageBox(L"不能复制到剪贴板!");
			}
			CloseClipboard();

 

 

使用OnPaste() 进行粘贴:

将剪切板中的数据复制到字符串中

 

		HANDLE hGlobal;
		wchar_t* pGlobal;

		if(!OpenClipboard())
		{
			AfxMessageBox(L"不能打开剪贴板!");
			return;
		}
		if(!(hGlobal=GetClipboardData(CF_UNICODETEXT)))
		{
			AfxMessageBox(L"不能获取剪贴板数据!");
			CloseClipboard();
			return;	
		}
		pGlobal=(wchar_t*)GlobalLock(hGlobal);
		GlobalUnlock(hGlobal);
		CloseClipboard();

		CString nStr=pGlobal;


 

 

 

参考资料:

http://blog.csdn.net/scuabin/article/details/5576218

http://hi.baidu.com/azurachen/blog/item/1339ca9b1fad49066e068cbf.html

http://blog.csdn.net/ycc892009/article/details/6521565

http://msdn.microsoft.com/en-us/library/ms649051(VS.85).aspx

http://www.cnblogs.com/gaochaooo/archive/2009/09/03/1559764.html

你可能感兴趣的:(剪切板的使用: 复制 粘贴)