CDC类详细说明

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

CDC

CObject
 └CDC

CDC类定义的是设备上下文对象的类。
CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。
通过CDC对象的成员函数进行所有的绘图。
类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。
它还为获取和设置绘图属性、映射,处理视点、窗口扩展、转换坐标,处理区域、剪贴、绘制直线及绘制简单椭圆和多边形等形状提供了成员函数。
另外还为绘制文本、处理字体,使用打印机跳转,滚动和播放元文件提供成员函数。
使用CDC对象时要构造它,然后调用与它平等的、使用设备上下文的Windows函数的成员函数。

注意:
Windows 95下所有屏幕坐标限制在16位以内。因此向CDC成员函数传递的int必须在-32768至32767之间。

为了特定用途,Microsoft基本类库提供了几个CDC派生类。
CPaintDC 包括BeginPaint和EndPaint调用。
CClientDC 管理窗口用户区对应的显示上下文。
CWindowDC 管理与整个窗口对应的显示上下文,包括它的结构和控件。
CMetaFileDC 与带元文件的设备上下文对应。

CDC包含m_hDC和m_hAttribDC两个设备上下文,它们在CDC对象创建时参考同一个设备。
CDC指导所有对m_hDC的输出GDI调用以及对m_hAttribDC的大部分属性GDI调用(GetTextColor是属性调用的例子,而SetTextColor是一个输出调用)。
例如框架使用这两个设备上下文实现CMetaFileDC对象,在从物理设备读取属性期间向元文件发送输出。
打印预览以相同风格在框架中实现。还可以以相似方法在特殊应用代码中使用这两个设备上下文。
可能多次需要来自m_hDC和m_hAttribDC设备上下文的文本度量信息。
以下几对函数提供了这项功能:
使用m_hAttribDC 使用m_hDC
GetTextExtent GetOutputTextExtent
GetTabbedTextExtent GetOutputTabbedTextExtent
GetTextMetrics GetOutputTextMetrics
GetCharWidth GetOutputCharWidth


CDC类成员

数据成员
m_hDC CDC对象使用的输出设备上下文
m_hAttribDC CDC对象使用的输出属性上下文

构造函数
CDC 构造一个CDC对象

初始化
CreateDC 为指定设备创建设备上下文
CreateIC 为指定设备创建信息上下文。这提供了一种不创建设备上下文即获取有关设备信息的快速方式
CreateCompatibleDC 创建内存设备上下文,与另一个设备上下文匹配。可以用它在内存中准备图像
DeleteDC 删除CDC对象对应的Windows设备上下文
FromHandle 给定设备上下文句柄时,返回指向CDC对象的指针。如果CDC对象未附加到句柄,则创建并附加一个临时CDC对象
DeleteTempMap 由CWinApp空闲时间句柄调用,删除FromHandle创建的临时CDC对象。同时分离设备上下文
Attach 把Windows设备上下文附加到这个CDC对象
Detach 从CDC对象分离Windows设备上下文.
SetAttribDC 设置属性设备上下文m_hAttribDC
SetOutputDC 设置输出设备上下文m_hDC
ReleaseAttribDC 释放属性设备上下文m_hAttribDC
ReleaseOutputDC 释放输出设备上下文m_hDC
GetCurrentBitmap 返回指向当前选择的CBitmap对象的指针
GetCurrentBrush 返回指向当前选择的CBrush对象的指针
GetCurrentFont 返回指向当前选择的CFont对象的指针
GetCurrentPalette 返回指向当前选择的CPalette对象的指针
GetCurrentPen 返回指向当前选择的CPen对象的指针
GetWindow 返回显示设备上下文对应的窗口

设备上下文函数
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值