CDC成员函数注意事项
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
GetTextExtentGetOutputTextExtent
GetTabbedTextExtentGetOutputTabbedTextExtent
GetTextMetrics GetOutputTextMetrics
GetCharWidthGetOutputCharWidth
有关CDC的更多信息,请参阅联机文档“Visual C++程序员指南”中的“设备上下文”。
#include
请参阅:CPaintDC, CClientDC, CWindowDC, CMetaFileDC
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 返回显示设备上下文对应的窗口
设备上下文函数GetSafeHdc返回输出设备上下文m_hDC
SaveDC 保存设备上下文当前状态