vc++ 中如何实现图片复制,粘贴
2个回答
展开全部
为已经有的这两个菜单项添加对应的函数,我不知道你要粘贴什么,给你一个粘贴字符串的常用代码:
1,复制
void CDynMenuDoc::OnEditCopy()
{
CString source=m_strClipborad;//要复制的内容
//文本内容保存在source变量中
if( OpenClipboard(NULL) )//打开剪切板
{
HGLOBAL clipbuffer;//内存句柄
char * buffer;
EmptyClipboard();//函数清空剪切板并释放剪切板内数据的句柄
clipbuffer = GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);//分配内存
buffer = (char*)GlobalLock(clipbuffer);//指定一个内存块并返回内存块的首地址
strcpy(buffer, LPCSTR(source));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
}
}
2,粘贴
char * buffer = NULL;
//打开剪贴板
if ( OpenClipboard(NULL) )
{
HANDLE hData = GetClipboardData(CF_TEXT);
char * buffer = (char*)GlobalLock(hData);
fromClipboard = buffer;//用需要的方式显示粘贴的内容
GlobalUnlock(hData);
CloseClipboard();
}
1,复制
void CDynMenuDoc::OnEditCopy()
{
CString source=m_strClipborad;//要复制的内容
//文本内容保存在source变量中
if( OpenClipboard(NULL) )//打开剪切板
{
HGLOBAL clipbuffer;//内存句柄
char * buffer;
EmptyClipboard();//函数清空剪切板并释放剪切板内数据的句柄
clipbuffer = GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);//分配内存
buffer = (char*)GlobalLock(clipbuffer);//指定一个内存块并返回内存块的首地址
strcpy(buffer, LPCSTR(source));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
}
}
2,粘贴
char * buffer = NULL;
//打开剪贴板
if ( OpenClipboard(NULL) )
{
HANDLE hData = GetClipboardData(CF_TEXT);
char * buffer = (char*)GlobalLock(hData);
fromClipboard = buffer;//用需要的方式显示粘贴的内容
GlobalUnlock(hData);
CloseClipboard();
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你需要说的再详细些
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询