MFC中设备上下文的概念和继承关系图解
来源:互联网 发布:新闻的作用和意义知乎 编辑:程序博客网 时间:2024/05/17 16:01
设备上下文:是一种包含有关某个设备(如显示器或打印机)的绘制属性信息的 Windows 数据结构。所有绘制调用都通过设备上下文对象进行,
这些对象封装了用于绘制线条、形状和文本的 Windows API。设备上下文允许在 Windows 中进行与设备无关的绘制。
设备上下文可用于绘制到屏幕、打印机或者图元文件。
在CDC类中存在两个成员变量,m_hDC和m_hAttribDC。
CDC类的继承关系如下(大家也可以查阅微软提供的msdn文档):
1. CPaintDC 对象将 Windows 的常见固定用语进行封装,调用 BeginPaint 函数,然后在设备上下文中绘制,最后调用 EndPaint 函数。
CPaintDC 构造函数为您调用 BeginPaint,析构函数则调用 EndPaint。该简化过程将创建 CDC 对象、绘制和销毁 CDC 对象。
在框架中,甚至连这个过程的大部分也是自动的。具体说来,框架给 OnDraw
函数传递(通过 OnPrepareDC)准备好的 CPaintDC,您只需绘制到 CPaintDC 中。
根据调用OnDraw
函数的返回,CPaintDC 被框架销毁并且将基础设备上下文释放给 Windows。
2. CClientDC 对象封装对一个只表示窗口工作区的设备上下文的处理。CClientDC 构造函数调用 GetDC 函数,析构函数调用 ReleaseDC 函数。
3. CWindowDC 对象封装表示整个窗口(包括其框架)的设备上下文。
4. CMetaFileDC 对象将绘制封装到 Windows 图元文件中。与传递给 OnDraw
的 CPaintDC 相反,在这种情况下您必须自己调用 OnPrepareDC。
- MFC中设备上下文的概念和继承关系图解
- windows设备上下文的概念
- MFC中对话框控件的句柄和设备上下文的问题
- MFC的CDC类/设备上下文/设备环境及有关概念
- 继承关系的内存图解
- spring上下文和springMVC上下文的关系
- MFC----设备上下文
- MFC的CDC类、设备上下文、设备环境
- MFC的CDC类、设备上下文、设备环境
- Javascript中继承和Prototype的关系
- Javascript中继承和Prototype的关系
- Javascript中继承和Prototype的关系
- MFC中文档和视图的关系
- MFC中,句柄和指针的关系
- 集合继承关系图解
- 图解说明ES5和ES6中继承的区别
- spring 根上下文和 spring dispatcherServlet 上下文的关系
- Java中继承的概念
- HDU3746 KMP相同公共前缀和公共后缀的最大长度应用及KMP
- Javascript的this用法
- 事务的原子性,一致性,隔离性,持久性
- 机器学习——海量数据挖掘解决方案
- Razor中使用三元运算符
- MFC中设备上下文的概念和继承关系图解
- Kibana和logstash实时日志查询、收集与分析系统
- C++用类链表模仿栈操作
- 欢迎使用CSDN-markdown编辑器
- 工具类- 身份证校验
- RecyclerView's Note
- 整合SSH java.lang.ClassCastException: xxx_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy
- ios 9.0以后关于UIAlertView和 UIActionSheet使用的一些新的变化
- 蓝桥杯算法—— 算法训练 前缀表达式