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 保存设备上下文当前状态

推荐内容