CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

怎样把窗口上的图形复制到系统剪切板上

楼主maoxinhua995(毛新华)2003-07-04 11:55:14 在 VC/MFC / 界面 提问

我在做一个小的画图控件,现在大部分已经做完了,只是不知道怎样把窗口上的图形复制到系统剪切板上,所以我的那个画图控件还没有复制功能。  
  函数接口已经做好了,以下是代码。  
  void   CChildWnd::DoCut()  
  {  
      //MessageBox("CChildWnd::DoCut()");  
      if(m_bSuccedDecideRect)  
      {  
      OnEditCopy();  
      OnEditCut();  
      }  
      else  
      {MessageBox("你还没有选定要剪切的图形呢!!");}  
  }  
  void   CChildWnd::OnEditCut()  
  {  
      CClientDC   dc(this);  
      CBrush   *pOldBrush;  
      pOldBrush=(CBrush   *)dc.SelectStockObject(WHITE_BRUSH);  
      dc.Rectangle(m_RectCopyCut);  
      m_RectCopyCut.OffsetRect(CPoint   (m_nHPos,m_nVPos));  
      m_dcMemory.Rectangle(m_RectCopyCut);  
       
      dc.SelectObject(pOldBrush);  
      m_bSuccedDecideRect=false;  
      Invalidate();  
  }  
  void   CChildWnd::OnEditCopy()  
  {  
   
  }  
  我已经用m_RectCopyCut把客户DC上的区域确定,OnEditCut()都已经可以删除这个区域内的图形了,就是m_RectCopyCut()还不知道怎样把图形放到剪切板中,我的目的是把m_RectCopyCut()限定的区域上的图形放到剪切板中,这样windows自带的画板中  
  的就可以把这个区域的图形用粘贴功能粘贴上去了,我试了一些方法还是做不出OnEditCopy()  
  这个函数,请高手一定帮我写好这个函数,十万火急,万分感谢。!!1  
  问题点数:0、回复次数:1Top

1 楼maoxinhua995(毛新华)回复于 2003-07-04 14:27:10 得分 0

CBitmap   *pOldBitmap,NewBitmap;  
  CDC*   pt;  
  pt=CDC::FromHandle(::GetDC(NULL));  
          NewBitmap.CreateCompatibleBitmap(pt,m_RectCopyCut.Width(),m_RectCopyCut.Height());  
  CDC   dc;  
  dc.CreateCompatibleDC(NULL);  
          pOldBitmap=dc.SelectObject(&NewBitmap);  
  dc.FillRect(m_RectCopyCut,   CBrush::FromHandle((HBRUSH)GetStockObject(BLACK_BRUSH)));  
   
  dc.BitBlt(0,0,m_RectCopyCut.Width(),m_RectCopyCut.Height(),  
  &m_dcMemory,m_RectCopyCut.left+m_nHPos,m_RectCopyCut.top   +m_nVPos,SRCCOPY);  
   
  HANDLE   handle=DDBToDIB(NewBitmap,BI_RGB,NULL);  
   
  if(!OpenClipboard())  
  return;  
  EmptyClipboard();  
  SetClipboardData(CF_DIB,handle);  
  CloseClipboard();  
  ReleaseDC(pt);  
  dc.SelectObject(pOldBitmap);Top

相关问题

  • 如何将CStatic中的内容复制到剪切板上
  • 怎么把自己的数据复制到剪切板中呀?
  • 如何将图片复制到剪切板中?
  • 如何获取剪切板内的东西是剪切的还是复制的?
  • 如何在richtextbox中选定一段文字后自动复制到剪切板
  • 如何用代码实现将剪切板的内容粘贴到word中并重新全选再复制回剪切板???
  • 怎么将一个字符串复制到剪切板上,然后在剪切板上再粘贴到文本框中
  • 是否可以通过API把Image的图形copy到剪切板??代码如何实现???
  • 问一个基本问题 如何将LISTBOX中选定的字符串复制到剪切板中
  • 怎么把变量值复制到剪切板,再粘贴到指定的地方?

关键词

  • 图形
  • dc
  • 函数
  • 区域
  • null
  • rectcopycut
  • 剪切板
  • newbitmap
  • oneditcopy
  • oneditcut

得分解答快速导航

  • 帖主:maoxinhua995

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo