CDC类的简介

简介: CDC类的简介

CDC类:

      Windows使用与设备无关的图形设备环境(DC :Device Context)进行显示。MFC基础类库定义了设备环境对象类----CDC类。

      CDC类从 CObject 直接继承而来。继承了CObject类的各种特性,如动态创建等等。

      例如用GDI画矩形要Rectangle(hDC,…),而使用CDC则是dc.Rectangle(…),由此可见CDC主要是把原本需要HDC作为参数的GDI函数封装了一下,HDC成了它的一个成员变量。

       CDC类是一个较大的类,包括许多成员函数,如映射函数,绘画工具函数,区域函数等,通过CDC对象的成员函数可以完成所有的绘画工作(在使用CClientDC进行绘图时,一般要调用GetClientRect()函数来获取客户区域的大小;),它具有如下的子类:

1.CPaintDC:仅限于OnPaint处理程序 ,用于响应窗口重绘消息(WM_PAINT)时的绘图输出 。在处理窗口重画时,必须使用CPaintDC ,否则WM_PAINT消息无法从消息队列中清除,将引起不断的窗口重画。CPaintDC也只能用在WM_PAINT消息处理之中。

2.CClientDC:(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其 构造函数中包含了GetDC,析构函数中包含了ReleaseDC

注:在绘图前,必须先得到 客户区大小 和 DC 、设置绘图颜色,然后再根据文档数据或用户操作来绘制图形。

3.CWindowDC:整个窗口的显示描述表,包括客户区和框架区。可在非客户区绘制图形,而CClientDC,CPaintDC只能在客户区绘制图形。

4.CMetaFileDC:Windows源文件的设备描述表。Windows源文件包含一个图形设备接口(GDI)命令序列,该序列可被重新执行而创建一幅图像,该类提供了面向对象的GDI图源文件的封装。对CMetaFileDC的成员函数的调用记录在一个原文件中

/******************************************************************************************************/

CDC类数据成员只有两个:

HDC m_hDC : CDC对象使用的输出设备上下文

HDC m_hAttribDC : CDC对象使用的属性设备上下文

参考:https://www.cnblogs.com/wangyaning/p/3763573.html

目录
相关文章
|
SQL 关系型数据库 Apache
Apache Doris 系列: 入门篇-创建数据表
Apache Doris 系列: 入门篇-创建数据表
1060 0
|
5月前
|
SQL 消息中间件 监控
实时计算 Flink版操作报错合集之TaskExecutor 如何解决ElasticsearchConnectorOptions类被废弃的问题
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
8月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之程序初始化mysql没有完成就报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
310 58
|
6月前
|
DataWorks NoSQL fastjson
DataWorks操作报错合集之DataX进行MongoDB全量迁移的过程中,DataX的MongoDB Reader插件在初始化阶段找不到Fastjson 2.x版本的类库,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
8月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之在oracle cdc2.3 + flink1.7环境下只能初始化同步数据,但后续Oracle的增删改查无法同步出去,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8月前
|
SQL 消息中间件 关系型数据库
实时计算 Flink版产品使用合集之用tidb连接器flink-connector-tidb-cdc-2.4.1.jar遇到从已存在的ck启动无效问题,启动后仍然从头开始读取数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
160 1
|
8月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之使用JDBC方式读取Oracle的number类型时,通过什么方式进行映射
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
178 0
实时计算 Flink版产品使用合集之使用JDBC方式读取Oracle的number类型时,通过什么方式进行映射
|
8月前
|
关系型数据库 MySQL 数据库
实时计算 Flink版产品使用合集之使用PostgreSQL作为源时,遇到before字段为NULL该如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版操作报错合集之flink cdc xstream采集oracle报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
91 0
|
8月前
|
SQL Java 数据库连接
Flink扩展问题之jdbc connector扩展失败如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。