图形1.CDC类几种派生的CDC类:CClientDC: 在相应除WM_PAINT消息之外的消息处理函数中,提供窗口客户区的设备描述环境;CMetaFileDC: Windows图元文件的设备描述环境;CPaintDC: OnDraw()函数中使用;CWindowDC:输出字符串:视图类的OnDraw()函数中pDC->TextOut(, , );2.CPen类创建画笔:CPen newPen(style,COLORREF,color); //颜色为RGB值画笔载入:CPen *oldPen=pDC->SelectObject(&newPen);使用新画笔绘制线条之后,如果要恢复原画笔则:pDC->SelectObject(oldPen);2.1直线的画法:pDC->MoveTo(,); pDC->LineTo(,);3.CBrush类创建画刷:CBrush(COLORREF color) 和 CBrush(int style,COLORREF color) CBrush newBrush(color);画刷载入:CBrush *oldBrush=pDC->SelectObject(&newBrush);恢复原画刷 :pDC->SelectObject(oldBrush);3.1矩形的画法:CRect rect(30,30,300,300);pDC->Rectangle(&rect); 或者 pDC->Rectangle(30,30,300,300);4.绘图模式:绘图的最终效果通过不同的绘图模式来修饰,设置绘图模式的CDC成员函数为:SetROP2(int DrawMode); 常用的绘图模式见表项:5.文本和CFont类显示文本:BOOL TextOut(int x,int y,CString &str);设置文本颜色:virtual COLORREF SetTextColor(COLORREF color);//color 为RGB值获得当前文本颜色:COLORREF GetTextColor() const;设置文本背景颜色:virtual COLORREF SetBkColor(COLORREF color);获得当前背景颜色:COLORREF GetBkColor() const;设置文本字符间距:int SetTextCharacterExtra(int ncharExtra);获取当前字符间距:int GetTextCharacterExtra() const;设置文本的对齐方式:UINT SetTextAlign(UINT nFlags);//TA_CENTRE,TA_LEFT...获取字体信息:TEXTMETRIC tm; pDC->GetTextMetrics(&tm);6.CDC的其它派生类窗口用户区设备描述环境CClientDC类:例:画一菱形CClientDC dc(this);//定义一个CClientDC的对象dcCRect rc; //定义一个描述矩形的对象GetClientRect(&rc);//获得用户区的尺寸,并存入rc//一下开始绘制菱形dc.MoveTo(...)...图元文件设备描述环境CMetaFileDC类:在应用程序中,有些图形是需要经常重复显示的,这样的文件最好事先绘制好,并形成一个文件存入内存,当用到它时直接打开就行了。这样的图形文件就叫图元文件。一般在视图类的OnCreate()函数中创建图元文件。具体做法:先定义一个CMetaFileDC类的对象,然后用该类的Create函数创建它;接下来用绘图方法绘制图元文件,最后使用close()函数结束绘制并将图元文件保存到类的数据成员中(该数据成员的类型为HMETAFILE).当需要显示时,使用CDC的成员函数PlayMetaFile即可。该函数原型为:BOOL PlayMetaFile(HMETAFILE hMF);当不再使用图元文件时一定要用函数DeleteMetaFile将其删除。

评论