用户登录  |  傲看软件园 用户注册
文章中心广告代码ASP源码PHP源码JSP源码.NET源码源码相关傲看留言板繁體中文
当前位置:傲看软件园文章中心编程开发编程语言

Visual C++剪贴板操作不完全攻略

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-05-11 07:38:18

经常在论坛上见到一些使用者询问如何在Visual C++中如何实现对剪贴板的操作,其实在VC++/MFC中是相当简单的。本文主要介绍了如下内容:

1、文本内容的操作

2、WMF数据的操作

3、位图的操作

4、设置使用自定义格式

5、感知剪贴板内容的改变

6、自动将数据粘贴到另一应用程序窗口

一、文本内容的操作

下面的代码示范了如何将文本内容复制到剪贴板:
Cstring source;
//文本内容保存在source变量中
if(openClipboard())
{
HGLOBAL clipbuffer;
char * buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, dource.GetLength()+1);
buffer = (char*)GlobalLock(clipbuffer);
Strcpy(buffer, LPCSTR(source));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
}


下面的代码显示了如何从剪贴板上获得文本内容:
char * buffer = NULL;
//打开剪贴板
CString fromClipboard;
if ( OpenClipboard() )
{
HANDLE hData = GetClipboardData(CF_TEXT);
char * buffer = (char*)GlobalLock(hData);
fromClipboard = buffer;
GlobalUnlock(hData);
CloseClipboard();
}


二、WMF数据的操作

在剪贴板上读写图象数据是非常有用的功能,并且实现起来也很简单。下面的代码显示了如何将扩展图元文件复制到剪贴板:
if(OpenClipboard());
{
EmptyClipboard();
//创建图元文件DC
CMetaFileDC * cDC = new CMetaFileDC();
cDC->CreateEnhanced(GetDC(),NULL,NULL,"the_name");
//调用绘图例程
//关闭CMetafileDC并获得它的句柄
HENHMETAFILE handle = cDC->CloseEnhanced();
//复制到剪贴板
SetClipBoardData(CF_ENHMETAFILE,handle);
CloseClipboard();
//删除dc
delete cDC;
}

下面的代码演示了从剪贴板获得图元文件并将其绘制到client DC上:
if(OpenClipboard())
{
//获得剪贴板数据
HENMETAFILE handle = (HENMETAFILE)GetClipboardData(CF_ENHMETAFILE);
//显示
CClientDC dc(this);
CRect client(0,0,200,200);
dc.PlayMetaFile(handle,client);
//关闭剪贴板
CloseClipboard();
}


三、位图的操作

位图的操作稍微复杂一点,下面这个例子显示了如何在剪贴板保存位图:
if(OpenClipboard())
{
EmptyClipboard();
CBitmap * junk = new CBitmap();
CClientDC cdc(this);
CDC dc;
dc.CreateCompatibleDC(&cdc);
CRect client(0,0,200,200);
junk->CreateCompatibleBitmap(&cdc,client.Width(),client.Height());
dc.SelectObject(junk);
DrawImage(&dc,CString("Bitmap"));
//复制数据到剪贴板
SetClipboardData(CF_BITMAP,junk->m_hObject);
CloseClipboard();
delete junk;
}

[1] [2]  下一页

Tags:编程语言

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图
冀ICP备08004437号 | 客服Q:354766721 | 交流群83228313
傲看软件园 - 绿色软件,破解软件下载站! 源码网 源码之家 绿软之家
Copyright © 2003-2010 OkHan.Net. All Rights Reserved .
页面执行时间:6,843.75000 毫秒
Powered by:OkHan CMS Version 4.0.0 SP2