MFC——CDC

CDC类定义的是设备上下文对象的类,有称设备环境对象类。

Windows使用与设备无关的图形设备环境(DC:Device Context)进行显示。

说到CDC类就不能不提一下GdiObject——图形对象类。 在Windows应用程序中,设备环境与图形对象共同工作,协同完成绘图显示工作。就像画家绘画一样,设备环境好比是画家的画布,图形对象好比是画家的画笔。用画笔在画布上绘画,不同的画笔将画出不同的画来。

父类:

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

子类:

CClientDC-------代表操作窗口的DC ,是比较常用的一个子类。管理窗口用户区对应的显示上下文。
CMetaFileDC ------响应Meta File的DC ,Meta File是一些GDI消息。与带元文件的设备上下文对应。
CPaintDC-------响应WM_PAINT消息的DC。包括BeginPaint和EndPaint调用。
CWindowDC ------代表整个屏幕的DC。管理与整个窗口对应的显示上下文,包括它的结构和控件。
CDC类的数据成员
数据成员只有两个:
HDC m_hDC : CDC对象使用的输出设备上下文
HDC m_hAttribDC : CDC对象使用的属性设备上下文

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

设备描述表(DC)是Windows中的一种数据结构,它包含GDI需要的所有关于显示界面情况的描述字段,包括相连的物理设备和各种各样的状态信息,又称为设备上下文,或者设备环境。

HDC是DC的句柄,API中的一个类似指针的数据类型。

详细可见:http://blog.csdn.net/yam_killer/article/details/7661449

时间: 2024-10-10 22:28:18

MFC——CDC的相关文章

9.MFC绘图

一.MFC绘图 1.相关问题 WIN32 - HDC MFC - CDC类对象 2.相关类 (1)CDC类 - 父类CObject,封装了关于绘图的各种API函数,还封装了成员变量m_hDC(保存绘图设备句柄) (2)CDC类的子类 CClientDC - 封装了在客户区中绘图的绘图设备,::GetDC CWindowDC - 封装了在整个窗口中绘图的绘图设备,::GetWindowDC CPaintDC - 封装了在WM_PAINT消息中绘图的绘图设备,::BeginPaint (3)CGDI

MFC中的DC CDC HDC由来由去理解

MFC中的DC CDC HDC由来由去理解 在此非常感谢博客主的究竟钻研,非常详细的参考资料:http://blog.csdn.net/yam_killer/article/details/7661449

VC/MFC的HDC,CDC,CWindowDC,CClientDC,CPaintDC详解:

首先说一下什么是DC(设备描述表) 解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制.DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息.Win32程序在绘制 图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉. 在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样的类 HDC是DC的句柄,API中的一个类似指针

MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文 [转]

在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API.你说你喜欢C++而MFC换一种说法就是一个用C++写的一个函数库 然后你来调用 只不过这个类不是你写的 MFC提供数百个类,最重要的.也是编写任何VC++应用程序都必不可少的两个类CWinApp和CFrameWnd,这两个类是编写复杂庞大应用程序的基石. 1>封装特性:构成MFC框架的是MFC类库而MFC类库又是C++的一个类库.这些类封装W

MFC中的DC,CDC和HDC

       设备描述表(DC)是Windows中的一种数据结构,它包含GDI需要的所有关于显示界面情况的描述字段,包括相连的物理设备和各种各样的状态信息. 图形显示功能是由显卡来完成的,你想要利用显卡的图形显示功能来完成你的图形输出,怎么办,给你一块硬件能用吗?好,现在厂商给你提供一个驱动程序,给你一些调用的接口,你就可以访问了吧.但这种访问是在驱动层,很麻烦,更麻烦的是,每个厂商给自己显卡提供的驱动程序还不一样,那我们写的图形输出程序岂不是换台机器(不一样的显卡)就得修改,一个字:累,两个字

MFC 学习之 CDC & HDC

1.定义 CDC * pDC; HDC hDC; 2.解释 HDC是WINDOWS的一种数据类型,是设备描述句柄. CDC是MFC里的一个类,它封装了几乎所有的关于HDC的操作. HDC定义的变量指向一块内存,这内存用来描述一个设备的相关的内容,所以也可以认为HDC定义的是一个指针: CDC类定义一个对象,这个对象拥有HDC定义的一个设备描述表,同时也包含与HDC相关的操作的函数. 3.获取 <pre name="code" class="cpp">&l

【MFC】CDC::BitBlt介绍

CDC::BitBlt介绍 2011-11-04 08:25 19576人阅读 评论(6) 收藏 举报 摘自: http://blog.csdn.net/bberdong/article/details/6934270 设备上下文绘图有很多种方法.例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制.此外,还可以使用CDC类的位图函数来输出位图到设备上下文中. BitBlt 用于从原设备中复制位图到目标设备,语法格式如下: BOOLBitBlt(int x,int y,int nWidth,

MFC-消息分派

前言 由于工作需要,这几天学了一点MFC,在AFX里看到很多熟悉的东西,如类型信息,序列化,窗口封装和消息分派.几乎每个界面库都必须提供这些基础服务,但提供的手法却千差万别.MFC大量地借用了宏,映射表来实现,而VCL则更多的在语言级别上给与支持.这其实是很容易理解的,因为C++是一个标准,不会因某个应用而随便扩展语言:相反Delphi完全由一个公司掌握,因此每支持一项新技术,变化最大的往往是语言本身. 学习MFC的代码,再对照VCL的实现,这真是一个很有意思的过程,其中可以看到两个框架在一些设

ActiveX控件(MFC篇)

目录 第1章 VC++6.0创建控件    1 1.1 目标    1 1.1.1 方法    1 1.1.2 属性    1 1.1.3 事件    1 1.2 创建项目    2 1.3 项目结构    6 1.3.1 COM接口    6 1.3.2 COM类    7 1.3.3 属性页    7 1.3.4 应用程序类    8 1.3.5 注册与注销    8 1.4 方法    9 1.4.1 增加    9 1.4.2 删除    11 1.5 属性    12 1.5.1 Te