1.CDC、CDCHandle只是CDCT<typename T>模板类的实例化,区别只是在析构时,一个会释放资源,一个不会。
typedef CDCT<false>   CDCHandle;
typedef CDCT<true>    CDC;
2.CMemDC从CDC继承,除了构造函数与析构函数外没有其它成员函数
3.CDC的成员变量只有一个:m_hDC
CMemDC有自己的更多的成员变量,同时还可以使用CDC的m_hDC:
   CDCHandle     m_dc;          // 屏幕的DC Owner DC
   CBitmap       m_bitmap;      // Offscreen bitmap
   CBitmapHandle m_hOldBitmap;  // Originally selected bitmap
   RECT          m_rc;          // Rectangle of drawing area
4.实际使用:
(1)先将屏幕的hdc作为CMemDC的构造参数
void CODButtonImpl::DrawItem ( LPDRAWITEMSTRUCT lpdis )
{
 RECT rc = lpdis->rcItem;
 CDCHandle hdc = lpdis->hDC;
 CMemDC dc( lpdis->hDC, &rc,RGB(255,0,0));
  ....
}

(2)将CMemDC转成换CDC(不转也无所谓,凡正CMemDC没有成员函数供你使用),然后用CDC的成员函数对m_hDC进行绘图操作,注意你是在CDC类的m_hDC中绘图。
  dc.SetPixel(CPoint(10,6),RGB(251,200,99));

WTL中CMemDC与CDC、CDCHandle的联系相关推荐

  1. C++零食:WTL中使用双缓冲避免闪烁

    双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板.首先我们在内存环境中建立一个"虚拟"的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制 ...

  2. wtl中显示html,用WTL构建HTML界面应用程序(1)

    主要针对有一定Windows编程经验的读者.阅读本文需要对COM机制有一定的了解,最好掌握C++的STL,熟悉模板机制.本文假定您使用的是Visual C++(6.0以上版本),并正确安装了WTL 7 ...

  3. MFC中的DC,CDC和HDC

    设备描述表(DC)是Windows中的一种数据结构,它包含GDI需要的所有关于显示界面情况的描述字段,包括相连的物理设备和各种各样的状态信息. 图形显示功能是由显卡来完成的,你想要利用显卡的图形显示功 ...

  4. mysql cdc采集_浅谈CDC在微服务中的应用

    原标题:浅谈CDC在微服务中的应用 CDC(Change Data Capture)是一种通过监测数据变更(变更包括新增.修改.删除等)而对变更的数据进行进一步处理的一种设计模式,通常应用在数据仓库以 ...

  5. (转)WTL入门(5)--- 高级的对话框UI类

    源代码:http://download.csdn.net/source/3522809 上一篇文章中,讲述了一些WTL的关于对话框和控件的特性,本章中将讲述的新的WTL类实现了一些高级UI特性:所有者 ...

  6. WTL入门(5)--- 高级的对话框UI类

    源代码:http://download.csdn.net/source/3522809 上一篇文章中,讲述了一些WTL的关于对话框和控件的特性,本章中将讲述的新的WTL类实现了一些高级UI特性:所有者 ...

  7. SQL Server 2008 的CDC功能

    CDC(Change Data Capture)通过对事务日志的异步读取,记录DML操作的发生时间.类型和实际影响的数据变化,然后将这些数据记录到启用CDC时自动创建的表中.通过cdc相关的存储过程, ...

  8. SQL Server审计功能入门:CDC(Change Data Capture)

    原文:SQL Server审计功能入门:CDC(Change Data Capture) 介绍 SQL Server 2008引入了CDC(Change Data Capture),它能记录: 1. ...

  9. XDC约束技巧——CDC篇

    上一篇<XDC约束技巧之时钟篇>介绍了XDC的优势以及基本语法,详细说明了如何根据时钟结构和设计要求来创建合适的时钟约束.我们知道XDC与UCF的根本区别之一就是对跨时钟域路径(CDC)的 ...

最新文章

  1. Nature Methods:微生物来源分析包SourceTracker——结果解读和使用教程
  2. Zabbix5.0监控系统安装详解
  3. linux命令学习记录一
  4. mysql5.0 php_php怎么连接mysql5.0?
  5. mysql 的isnull
  6. 大数据分析的方法有哪些
  7. python异步爬虫_Python异步爬虫试验[Celery,gevent,requests]
  8. Codeforces 700 C. Break Up(Tarjan求桥)
  9. 【转载】Chrome team 发起了浏览器兼容性检测工具开源项目
  10. BGP路由技术详解(一)
  11. 企业邮箱申请流程有哪些?公司邮箱的优势有哪些?
  12. 解决msvcr120.dll文件丢失问题(搞了半天,简直奔溃,最后完美解决)
  13. 【c】三角形图形输入 6*11 看懂这一个以后打印图形信手nian来
  14. 百度地图JSAPI标注旋转
  15. MATLAB Handle类的set和get方法
  16. linux开启514端口,查看linux服务器所开放的端口
  17. python3将文本内容生成词云
  18. 朴素贝叶斯 二项式 伯努利
  19. Linux的系统架构(linux由哪几部分组成?)
  20. 完美解决eNSP virtualBox安装完成后只有VirtualBox Host-Only Network #2,Ensp利用虚拟网卡的设备无法启动。eNSP设备AC;AP设备报41错误解决办法。

热门文章

  1. Java设计模式(访问者模式-迭代器模式-观察者模式-中介者模式)
  2. 统计数据背后的指数分布模型
  3. 智能车竞赛技术报告 | 智能车视觉 - 青岛工学院 - 青工战斗
  4. 2021年春季学期-信号与系统-第十一次作业参考答案-第八小题
  5. 金黄色的LED灯带感光特性测量
  6. java 图片不更新,图片下传页面不能及时更新,求解
  7. swagger 返回json字符串_Net Core微服务入门全纪录(完结)——Ocelot与Swagger
  8. C linux 宏定义的使用
  9. php开源文件管理,搭建php开源的文件管理器eXtplorer
  10. laravel mysql like_Laravel数据库查询中对 like 的值进行转义