mfc经典绘图方法总结

mfc经典绘图方法总结

ID:27586202

大小:83.00 KB

页数:7页

时间:2018-12-04

mfc经典绘图方法总结_第1页
mfc经典绘图方法总结_第2页
mfc经典绘图方法总结_第3页
mfc经典绘图方法总结_第4页
mfc经典绘图方法总结_第5页
资源描述:

《mfc经典绘图方法总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MFC经典绘图方法总结Windows绘图的实质就是利用windows提供的图形设备接口GDI(GraphicsDevice1nterface)将图形会制在显示器上。为了支持GDI绘图,MFC提供了两种重要的类:设备上下文DC(DeviceContext)^,用于设置绘阁属性和绘制阁形;绘图对象类,封装了各种GDI绘图对象,包括画笔、刷子、字体、位图、调色板和区域。CDC类介绍:在MFC中,CDC是设备上下文类的基类,派生类包括:CClientDC,CPaintDC,CWindowDC,CMetaFileDC类CClientDC客户区设备上下

2、文,绘制客户区时CPaintDC一般发生在窗口需要重绘时CWindwDC可以绘制整个窗口,通常在窗口WM_NCPAINT消息的响应函数CWnd::OnNCPaint()中使用CMetaFileDC专门用于图元文件的绘制,图元文件记录一组GDI命令,重建图形输山。CDC包含m_hDC和m.hAttribDC二个设备上下文。CDC指导所有对m.hDC的输出GDI调用(SetTextColor)以及对m_hAttribDC的大部分属性GDI调用(GetTextColor)。CDC对象的重要函数如下:1、为指定设备创建上下文virtualBOOLC

3、reateDC(...)比如创建一个为屏幕的设备上下文CDCdc;dc.CreateDCfDISPLAY’’,NULL,NULL,NULL);2、创建内存设备上下文,与指定设备上下文兼容virtualBOOLCreateCompatibleDC(CDC*pDC)3、删除CDC对象对应的Windows设备上下文,通常不调用该函数而是使用析构程序virtualBOOLDeleteDC();4、将HDC句柄转化为设备上下文的句柄:CDC*pDC=CDC::FromHandle(hDC)5、选择GDI对象入选到设备上下文中,一共有五种形式:CPen

4、*SelectObject(CPen*pPen);CBrush*SelectObject(CBrush*pBrush);virtualCFont*SelectObject(CFont*pFont);CBitmap*SelectObject(CBitmap*pBitmap);intSelectObject(CRgn*pRgn);例:Cpencpen;pen.CreatePen(PS_SOLID,2,RGB(255,0,0));Cpen*pOldPen=(CPen*)pDC->SelectObject(&pen);//设置新画笔,记录旧画笔拳參

5、礬•pDC->SelectObject(pOldPen);//还原画笔三种方法创建画笔1/构造函数:CPen();CPen(intnPenStyle,intnWidth,COLORREFcrColor);CPen(…)略2/CreatePen(intnPenStyle,intnWidth,COLORREFcrColor)3/CreatePenIndirect(LPLOGPENlpLogpen)typedefstructtagLOGPEN{UINTlopnStyle;POINTlopnWidth;COLORREFlopnColor;}LOGP

6、EN,^LPLOGPEN;例:LOGPENlppn;lppn.lopnColor=RGB(255,0,0);lppn.lopnStype=PS_DASHDOT;lgpn.lopnWidth.x=2;lgpn.lopnWidth.y=2;CPenpen;pen.CreatePenIndirect(&lppn);圏刷三种方法创建1/构造函数:CBrush();CBrush(COLROREFcrColor);CBrush(intnlndex,COLORREFcrColor);nlndex哪种类型的网格,HS_BDIAGONALHS.CROSSHS

7、VERTICALHSHORIZONTAL2/CreateSolidBrush(COLORREFcrColor);3/CreateHatchBrush(intnlndex,COLORREFcrColor);4/CreateBrushIndirect(constLOGBRUSH*lpLogBrush);typedefstructtagBRUSH{UINTlbStyle;//BS_HATCHED,BS_SOLID,BS_NULLCOLORREFlopnColor;LONGlbHatch;//HS.BDIAGONALHS—CROSSHS_VERTI

8、CALHS—HORIZONTAL}LOGBRUSH,*LPLOGBURSH;例:CRectRect(0,0,200,200);CBrushbrush(HS_HORIZONTAL,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。