- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC经典绘图方法总结
Windows绘图的实质就是利用windows提供的图形设备接口 GDI(Graphics Device 1 n terface)将图形会制在显示器上。
为了支持GDI绘图,MFC提供了两种重要的类:
设备上下文DC(Device Context)^,用于设置绘阁属性和绘制阁形;
绘图对象类,封装了各种GDI绘图对象,包括画笔、刷子、字体、位图、调色板和区域。
CDC类介绍:
在MFC中,CDC是设备上下文类的基类,派生类包括:CClientDC,CPaintDC, CWindowDC,CMetaFileDC 类
CClientDC客户区设备上下文,绘制客户区时 CPaintDC 一般发生在窗口需要重绘时
CWindwDC可以绘制整个窗口,通常在窗口 WM_NCPAINT消息的响应函数 CWnd::OnNCPaint()中使用
CMetaFileDC专门用于图元文件的绘制,图元文件记录一组GDI命令,重建图形输山。
CDC包含m_hDC和m.hAttribDC二个设备上下文。CDC指导所有对m.hDC的输出 GDI 调用(SetTextColor)以及对 m_hAttribDC 的大部分属性 GDI 调用(GetTextColor)。
CDC对象的重要函数如下:
1、 为指定设备创建上下文virtual BOOLCreateDC(...)
比如创建一个为屏幕的设备上下文
CDC dc;
dc.CreateDCfDISPLAY’’,NULL, NULL,NULL);
2、 创建内存设备上下文,与指定设备上下文兼容 virtual BOOL CreateCompatibleDC( CDC * pDC)
3、 删除CDC对象对应的Windows设备上下文,通常不调用该函数而是使用析构程序 virtual BOOL DeleteDC();
4、 将HDC句柄转化为设备上下文的句柄:CDC *pDC=CDC::FromHandle( hDC )
5、 选择GDI对象入选到设备上下文中,一共有五种形式:
CPen * SelectObject( CPen * pPen);
CBrush * SelectObject( CBrush * pBrush); virtual CFont * SelectObject( CFont * pFont);
CBitmap * SelectObject( CBitmap * pBitmap); int SelectObject( CRgn * pRgn);
例:
Cpen cpen;
pen.CreatePen( PS_SOLID, 2, RGB(255,0,0));
Cpen *pOldPen=(CPen*)pDC-SelectObject(pen); //设置新画笔,记录旧画笔
拳參礬?
pDC-SelectObject(pOldPen); //还原
画笔
三种方法创建画笔 1/构造函数:
CPen();
CPen( int nPenStyle, int nWidth, COLORREF crColor ); CPen(…)略
2/CreatePen( int nPenStyle, int nWidth, COLORREF crColor)
3/CreatePenIndirect( LPLOGPEN lpLogpen)
typedef struct tagLOGPEN{UINT lopnStyle;
POINT lopnWidth; COLORREF lopnColor;
}LOGPEN, ^LPLOGPEN;
例:
LOGPEN lppn;
lppn.lopnColor=RGB(255,0,0);
lppn.lopnStype=PS_DASHDOT;
lgpn.lopnWidth.x=2;
lgpn.lopnWidth.y=2;
CPen pen;
pen.CreatePenIndirect( lppn );
圏刷
三种方法创建 1/构造函数:
CBrush();
CBrush(COLROREF crColor);
CBrush(int nlndex,COLORREF crColor);
nlndex 哪种类型的网格,HS_BDIAGONAL HS.CROSS
HS VERTICAL HS HORIZONTAL
2/CreateSolidBrush( COLORREF crColor);
3/CreateHatchBrush( int nlndex,COLORREF crColor);
4/CreateBrushIndirect( const LOGBRUSH* lpLogBrush );
typedef struct tagBRUSH{
UINT lbStyle; //
您可能关注的文档
- LJA11各级管理人员安全生产责任制.doc
- LM中面层试验段监理总结.doc
- LNG,煤化工,机械制造,仪表电器十年技术翻译专业词汇累计分享0001.doc
- LNG工厂风险识别及预案.doc
- LNG管网维护管理办法.doc
- LNG加气站安全知识普及教育试题.doc
- LNG加气站施工组织设计.doc
- LNG设备定检定修计划.doc
- LNG项目建设报告修改317.doc
- LNG银山加气站岗位职责.doc
- 山东省淄博市2025-2026学年八年级上学期10月月考数学试卷-附答案.pdf
- 2026年辽源职业技术学院单招(计算机)测试备考题库附答案.docx
- 2026年辽宁民族师范高等专科学校单招职业适应性考试模拟测试卷附答案.docx
- 邢台应用技术职业学院《大学英语》2023-2024学年第一学期期末试卷.pdf
- 2026年辽宁民族师范高等专科学校单招职业技能测试题库附答案.docx
- 2026年辅警招聘考试试题库及参考答案【典型题】.docx
- 2026年辅警招聘考试试题库带答案(培优).docx
- 渔夫公务员面试面试题及答案.doc
- 2026年辅警招聘考试试题库【考点精练】.docx
- 2026年金华义乌市中心医院医共体面向毕业生校园招聘55人(温州医科大学)(公共基础知识)测试题附答.docx
原创力文档


文档评论(0)