分享一下我老师大神的人工智能教程!零基础,通俗易懂!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 | 返回显示设备上下文对应的窗口 |
设备上下文函数