CDC类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CDC类:定义设备环境对象类CDC::BitBlt从源设备环境拷贝一个位图到当前设备环境中BOOL BitBlt(int x,int y,int nWidth,int nHeight,CDC* pSrcDC ,int xSrc,int ySrc,DWORD dwRop); 参数:x,y为目的矩形的左上角坐标;nWidth,nHeight为目的矩形的宽度和高度;pSrcDC 是指向源设备环境的指针;xSrc,ySrc源位图左上角的坐标;dwRop 为光栅操作码。
CDC::CreateCompatibleDC 创建一个与pDC指定的设备相兼容的内存设备环境
virtual BOOL CreateCompatibleDC(CDC* pDC); 参数:pDC 设备环境指针
返回值:若成功,返回非0;否则返回0
CDC::Detach将设备环境从CDC对象中分离开来 HDC Detach() 返回值:分离的设备环境
CDC::DrawEdge绘制矩形边框或边框的一部分
BOOL DrawEdge(LPRECT lpRect,UINT nEdge,UINT nFlags); 参数lpRect指向矩形的RECT结构的指针;nEdge指定矩形内外边界的风格,必须是一个内边界标志和外边界标志的组合,取值为:
BDR_RAISEDINNER:内边界凸出;
BDR_SUNKENINNER:内边界凹下;
BDR_RAISEDOUTER:外边界凸出;
BDR_SUNKENOUTER:外边界凹下;
nFlags指定边界的类型,取值为:
BF_RECT:矩形的所有四边;
BF_LEFT:矩形的左边;
BF_BOTTOM:矩形的底边;
BF_RIGHT:矩形的右边;
BF_TOP:矩形的上边;
BF_TOPLEFT:矩形的上边和左边;
BF_TOPRIGHT:矩形的上边和右边;
BF_BOTTOMLEFT:矩形的下边和左边;
BF_BOTTOMRIGHT:矩形的下边和右边。
返回值:若成功,返回非0;否则返回0。
CDC::DrawFocusRect画一个说明输入焦点的矩形
void DrawFocusRect(LPCRECT lpRect);
参数:lpRect 指向绘制矩形的逻辑坐标的RECT结构或CRect对象。
CDC::FillSolidRect 用指定单颜色填充矩形
void FillSolidRect(LPCRECT lpRect,COLORREF clr); void FillS olidRect(int x,int y,int cx,int cy,COLORREF clr); 参数:lpRect 指定要填充的矩形;clr填充的颜色 x,y矩形的左上角坐标,cx、cy为矩形宽度和高度
CDC::FromHandle在给予一个设备环境句柄时返回一个CDC对象指针 static CDC* PASCAL FromHandle(HDC hDC); 参数:hDC 设备环境句柄返回值:CDC对象指针
CDC::PaintRgn用当前画刷填充一个CRgn对象的区域
BOOL PaintRgn(CRgn* pRgn); 参数:指向一个CRgn对象的指针
返回值:若成功,返回非0;否则返回0
CDC::Rectangle 用当前画笔画一个矩形,并用当前画刷填充为实心矩形
BOOL Rectangle(int x1,int y1,int x2,int y2); BOOL Rectangl e(LPCRECT lpRect);
参数:x1、y1为矩形左上角坐标,x2、y2为矩形右下角坐标 lpRect 为RECT结构或CRect对象
返回值:若成功,返回非0;否则返回0
CDC::RestoreDC将设备环境恢复成先前的状态
virtual BOOL RestoreDC(int nSaveDC); 参数:nSaveDC设备环境先前状态的整数标识
返回值:若成功,返回非0;否则返回0
CDC::RoundRect 用当前画笔画一个圆角矩形,并用当前画刷填充BOOL RoundRect(int x1,int y1,int x2,int y2,int x3,int y3); B OOL RoundRect(LPCRECT lpRect,POINT point);
参数:x1、y1为左上角坐标,x2、y2为右下角坐标,x3、y3为画圆角的椭圆的逻辑宽度和高度 lpRect为RECT结构或CRect对象,point中的x、y为画圆角的椭圆的逻辑宽度和高度
返回值:若成功,返回非0;否则返回0
CDC::SaveDC 保存设备环境的当前状态 virtual int SaveDC(); 返回值:若成功,返回标识保存设备环境的整数;若错误返回0
CDC::SelectStockObject 将一个预定义的库存对象装入设备环境 virtual CGdiObject* SelectStockObject(int nIndex); 参数:nIndex库存对象的索引值,常用取值:
BLACK_BRUSH 黑色画刷;
DKGRAY_BRUSH 深灰色画刷;
GRAY_BRUSH 灰色画刷;
LTGRAY_BRUSH 浅灰色画刷;
WHITE_BRUSH 白色画刷;
HOLLOW_BRUSH 中空画刷;
NULL_BRUSH 空画刷;
BLACK_PEN 黑色画笔;
WHITE_PEN 白色画笔;
NULL_PEN 空画笔;
SYSTEM_FONT 系统字体;
返回值:被替换的CGdiObject对象的指针,若调用失败,返回NULL
CDC::SetMapMode设置映射模式,映射模式定义了将逻辑单位转换为设备单位的单位量,并定义了X和Y的方向
virtual int SetMapMode(int nMapMode);
返回值:上一个映射模式。
CDC::SelectObject将一个对象选入设备环境,替代同一类型的先前对象
CPen* SelectObject(CPen* pPen); CBrush* SelectObject(CB rush* pBrush); virtual CFont* SelectObject(CFont* pFont); CBitmap* SelectObject(CBitmap* pBitmap); int SelectObjec t(CRgn* pRgn); 参数:要选入的新对象的指针
返回值:先前的旧对象的指针
CDC::SetBkMode设置背景模式
int SetBkMode(int nBkMode);
参数:nBkMode为要设置的背景模式,取值可以为:OPAQUE 在绘制文本前用当前背景色填充背景,这是缺省的背景模式 TRANSPARENT 绘制前不改变背景(即文字背景透明)
返回值:先前的背景模式
CDC::MoveTo设置画图的起点位置
CPoint MoveTo(int x,int y); CPoint MoveTo(POINT point); 参数:x、y为新位置的坐标;point为新位置坐标
返回值:先前位置的坐标
CDC::LineTo从当前位置到指定点画直线
BOOL LineTo(int x,int y); BOOL LineTo(POINT point);
参数:x、y为直线末端的坐标;point为直线末端的坐标
返回值:若成功,返回非0;否则返回0
该函数通常与MoveTo()函数合起来完成画线工作。
CDC::SetTextColor设置文本颜色
virtual COLORREF SetTextColor(COLORREF crColor); 参数:crColor指定文本颜色
返回值:先前的文本颜色
CDC::TextOut用当前字体在指定位置写一字符串
virtual BOOL TextOut(int x,int y,LPCTSTR lpszString,int nC ount); BOOL TextOut(int x,int y,const CString& str);
参数:x,y文本左上角坐标;lpszString指示要输出的字符串;nCount为字符串中字节数;str为要输出的CString对象
返回值:若成功,返回非0;否则返回0
CDC::SetBkColor 设置当前背景色
virtual COLORREF SetBkColor(COLORREF crColor); 参数:crColor为新背景色
返回值:先前背景色;若错误,返回值为0x80000000
CDC::GetTextExtent使用当前字体计算一行文本的宽度和高度 CSize GetTextExtent(LPCTSTR lpszString,int nCount)con st; CSize GetTextExtent(const CString& str)const;
参数:lpszString指向一个字符串,nCount字符串中字符数 str 一个字符串对象
返回值:字符串文本的宽度和高度(以逻辑单位表示)CDC::GetTextMetrics检取当前字体的规格
BOOL GetTextMetrics(LPTEXTMETRIC lpMetrics)const; 参数:lpMetrics 指向用于接收字体规格的TEXTMETRIC结构
返回值:若成功,返回非0;否则返回0
CDC::DrawText 在指定的矩形内绘制格式化的文本
virtual int DrawText(LPCTSTR lpszString,int nCount,LPREC
T lpRect,UINT nFormat); int DrawText(const CString& str,L PRECT lpRect,UINT nFormat);
参数:lpszString指示要输出的字符串;nCount为字符串中字节数;lpRect指示文本所在的矩形;str为要输出的CString对象;nFormat为格式化文本的方式,常用取值:
DT_BOTTOM 文本底对齐,必须和DT_SINGLELINE联用;
DT_CENTER 居中显示文本;
DT_LEFT 文本左对齐;
DT_RIGHT 文本右对齐;
DT_TOP 正文与行顶部对齐(仅指单个行);
DT_NOCLIB 绘制时不加裁减;
DT_SINGLELINE 单行显示;
DT_VCENTER 指定在垂直方向上居中显示文本(仅只单个行);DT_WORDBREAK 若单词超过矩形边界,行将在单词间断开返回值:若调用成功,返回文本的高度。