QQ登录

只需一步,快速开始

上位机MFC仿QQ截图工具源代码

[ 复制链接 ]

上位机MFC仿QQ截图工具源代码

上位机MFC仿QQ截图工具源代码

上图为软件运行时效果。
软件以提示框形式提示具体截图操作步骤。
1.用鼠标 左键框选要截图的区域。
2.选择后可以用鼠标调整选择的区域。
3.取消可以exce或鼠标右键。确认可鼠标双击。

双击鼠标左键,实现将截图保存到剪切板。
当然您也可以修改代码,将图片保存到文件。
下面是对应关键代码
  1. HBITMAP CCatchScreenDlg::CopyScreenToBitmap(LPRECT lpRect,BOOL bSave)
  2. //lpRect 代表选定区域
  3. {
  4.         HDC       hScrDC, hMemDC;      
  5.         // 屏幕和内存设备描述表
  6.         HBITMAP    hBitmap, hOldBitmap;   
  7.         // 位图句柄
  8.         int       nX, nY, nX2, nY2;      
  9.         // 选定区域坐标
  10.         int       nWidth, nHeight;
  11.        
  12.         // 确保选定区域不为空矩形
  13.         if (IsRectEmpty(lpRect))
  14.                 return NULL;
  15.         //为屏幕创建设备描述表
  16.         hScrDC = CreateDC("DISPLAY", NULL, NULL, NULL);

  17.         //为屏幕设备描述表创建兼容的内存设备描述表
  18.         hMemDC = CreateCompatibleDC(hScrDC);
  19.         // 获得选定区域坐标
  20.         nX = lpRect->left;
  21.         nY = lpRect->top;
  22.         nX2 = lpRect->right;
  23.         nY2 = lpRect->bottom;

  24.         //确保选定区域是可见的
  25.         if (nX < 0)
  26.                 nX = 0;
  27.         if (nY < 0)
  28.                 nY = 0;
  29.         if (nX2 > m_xScreen)
  30.                 nX2 = m_xScreen;
  31.         if (nY2 > m_yScreen)
  32.                 nY2 = m_yScreen;
  33.         nWidth = nX2 - nX;
  34.         nHeight = nY2 - nY;
  35.         // 创建一个与屏幕设备描述表兼容的位图
  36.         hBitmap = CreateCompatibleBitmap
  37.                 (hScrDC, nWidth, nHeight);
  38.         // 把新位图选到内存设备描述表中
  39.         hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap);
  40.         // 把屏幕设备描述表拷贝到内存设备描述表中
  41.         if(bSave)
  42.         {
  43.                 //创建军兼容DC,当bSave为中时把开始保存的全屏位图,按截取矩形大小保存
  44.                 CDC dcCompatible;
  45.                 dcCompatible.CreateCompatibleDC(CDC::FromHandle(hMemDC));
  46.                 dcCompatible.SelectObject(m_pBitmap);
  47.         
  48.                 BitBlt(hMemDC, 0, 0, nWidth, nHeight,
  49.                         dcCompatible, nX, nY, SRCCOPY);

  50.         }
  51.         else
  52.         {
  53.                 BitBlt(hMemDC, 0, 0, nWidth, nHeight,
  54.                         hScrDC, nX, nY, SRCCOPY);
  55.         }

  56.         hBitmap = (HBITMAP)SelectObject(hMemDC, hOldBitmap);
  57.         //得到屏幕位图的句柄
  58.         //清除
  59.         DeleteDC(hScrDC);
  60.         DeleteDC(hMemDC);
  61.        
  62.         if(bSave)
  63.         {
  64.                                
  65.                 if (OpenClipboard())
  66.                 {
  67.         //清空剪贴板
  68.         EmptyClipboard();
  69.         //把屏幕内容粘贴到剪贴板上,
  70.         //hBitmap 为刚才的屏幕位图句柄
  71.         SetClipboardData(CF_BITMAP, hBitmap);
  72.         //关闭剪贴板
  73.         CloseClipboard();
  74.       }
  75.         }
  76.         // 返回位图句柄

  77.         return hBitmap;
  78. }
复制代码
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC仿QQ截图工具源代码.rar 
文件大小:80.63 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索