




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——VC试验四MFC图形绘制编程试验试验四MFC图形绘制编程试验
一、试验目的
(1)熟悉VisualC++6.0开发环境;(2)把握MFC消息映射的操作步骤;(2)把握MFC图形输出的方法;
(3)理解设备环境、画笔、画刷的概念,把握常用的绘图函数。二、试验内容
请编写程序,要求如下:
(1)定义一支黄色画笔,绘制一条线段;(1)定义一支紫色画笔,绘制一条多段线;
(3)定义一支红色画笔,绘制一个正方形,并用适当的画刷填充图形内部;(4)定义一支绿色画笔,绘制一个圆,并用适当的画刷填充图形内部;
(5)定义一支蓝色画笔,绘制一个正六边形,并用适当的画刷填充图形内部。三、试验报告
1.列出图形绘制程序代码清单:(1)在头文件Demo.h中:#include\
classCDemoWnd:publicCFrameWnd{
public:CDemoWnd();~CDemoWnd();public:LRESULTOnPaint(WPARAMwParam,LPARAMlParam);DECLARE_MESSAGE_MAP()public:intm_nX0;intm_nY0;intm_nX1;intm_nY1;};
classCDemoApp:publicCWinApp{
public:BOOLInitInstance();};
CDemoAppThisApp;
(2)在源文件Demo.cpp中:#include\
CDemoWnd::CDemoWnd(){m_nX0=0;
m_nY0=0;m_nX1=0;m_nY1=0;}
CDemoWnd::~CDemoWnd(){}
BEGIN_MESSAGE_MAP(CDemoWnd,CFrameWnd)ON_MESSAGE(WM_PAINT,OnPaint)END_MESSAGE_MAP()
LRESULTCDemoWnd::OnPaint(WPARAMwParam,LPARAMlParam){
CPaintDCdc(this);CPenPen1,*pOldPen1;
Pen1.CreatePen(PS_SOLID,10,RGB(255,255,0));pOldPen1=dc.SelectObject(dc.SelectObject(dc.MoveTo(10,10);dc.LineTo(100,100);
CPenPen2,*pOldPen2;
Pen2.CreatePen(PS_SOLID,4,RGB(255,0,255));pOldPen2=dc.SelectObject(dc.SelectObject(
POINTpt1[]={{100,10},{10,180},{200,150}};dc.Polyline(pt1,3);
CPenPen3,*pOldPen3;
dc.SelectStockObject(BLACK_BRUSH);Pen3.CreatePen(PS_SOLID,4,RGB(255,0,0));pOldPen3=dc.SelectObject(dc.SelectObject(
dc.Rectangle(300,50,400,150);
CPenPen4,*pOldPen4;
dc.SelectStockObject(GRAY_BRUSH);
Pen4.CreatePen(PS_SOLID,4,RGB(0,255,0));pOldPen4=dc.SelectObject(dc.SelectObject(dc.Ellipse(500,200,700,400);
CPenPen5,*pOldPen5;
Pen5.CreatePen(PS_SOLID,4,RGB(0,0,255));pOldPen5=dc.SelectObject(
dc.SelectStockObject(DKGRAY_BRUSH);dc.SelectObject(
POINTpt2[]={{250,250},{400,250},{475,379},{400,509},{250,509},{175,379}};dc.Polygon(pt2,6);return0;}
BOOLCDemoApp::InitInstance(){
CDemoWnd*pMainWnd=newCDemoWnd();pMainWnd->Create(NULL,\pMainWnd->ShowWindow(m_nCmdShow);pMainWnd->UpdateWindow();m_pMainWnd=pMainWnd;returnTRUE;}
2、程序运行结果:
3、总结在MFC程序中绘制图形的基本操作步骤:
(1)获取图形设备接口。图形设备接口(GDI)负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字,是Windows系统的重要组成部分。
(2)获取设备环境。设备描述表用来定义绘图规则,设备描述表即为设备环境的属性的集合,可以将设备描述表看成图形的“输出模板〞。应用程序每一次图形操作均参照设备描述表中的属性执行。获取设备环境是应用程序输出图形的先决条件,常用的两个MFC类是CPaintDC,CClientDC。CPaintDC类应用程序响应WM_PAINT消息进行图形刷新时,主要通过CPaintDC类对象获取设备环境。CClientDC假使绘图工作并非由WM_PAINT消息
驱动,则使用CClientDC类的对象获取设备环境。
(3)选择绘图工具与颜色。画笔的操作:创立画笔,将画笔选入设备环境,删除画笔。画刷的创立与应用也包括创立、选入设备环境和删除。最终设置颜色。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 县河道管理办法
- 军校寝室管理办法
- 通知与管理办法
- 高职班管理办法
- 义乌狗管理办法
- 押金条管理办法
- 六不发航管理办法
- 云南疫情管理办法
- 北海银滩管理办法
- 领料单管理办法
- 2025年苏教版小学数学一年级下期末练习(附答案)
- 中度贫血患者的护理查房
- 伤口摄影技术课件教学
- 2025年河北省专技人员继续教育公需课(新课程答案六)
- FX5U可编程序控制系统设计技术 课件 任务23 PLC与变频器专用通信协议监控系统设计与调试
- 江苏省淮安市小升初择校分班考押题卷试题-2023-2024学年六年级下册数学 苏教版
- 《对越南的PEST分析》课件
- 餐饮金牌店长培训
- 地球自转考试题型及答案
- 老年人同居协议书8篇
- 税务系统预防职务犯罪警示教育课演讲稿
评论
0/150
提交评论