- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
山东大学(威海)机电与信息工程学院2011级
山东大学(威海)机电与信息工程学院
2011级
面向对象编程技术实验五实验报告
班 级:
学 号:
姓 名:
时 间:2013-12-01
目 录
实验要求 1
A、基本功能要求 1
B、高级要求 1
实验过程及结果 1
交互式绘制图形 1
绘制直线 1
绘制矩形 2
绘制椭圆 3
输入文本 4
文本保存 6
文本读取 7
实验总结 8
附录关键代码 8
一、主CPP 8
二、附CPP 22
三、头文件 28
面向对象编程技术实验报告
面向对象编程技术实验报告
0
0
实验要求
A、基本功能要求
交互式绘制图形(至少包括线、矩形和文本),绘制完成的图形能够正确地重现
绘制结果可以正确持久化(存储到文件、从文件中读出)//
最终交付的工程中至少包含两个源文件(.cpp文件,即除主程序外,将部分函数分离到单独的源文件)、一个rc文件
用“椭圆”绘制B、高级要求
用“椭圆”绘制
线、矩形、文本的颜色(线色和填充色)、文本字体可调。
能够通过鼠标点击选中图形,并进行属性的修改,修改的内容可包括:
位置
大小
颜色
线型
字体(对应文本图元而言)
能够删除选中的图形
实验过程及结果
交互式绘制图形
此次绘制图形的程序和例程中EasyDraw不同,相比后者,本程序的绘制是建立在结构体数组的基础上的。绘制结果完全可以满足实验要求。
效果图如下:
绘制直线
首先定义一个直线的结构体数组
面向对象编程技术实验报告
面向对象编程技术实验报告
{intj;HBRUSHhOldBrush;HPENhPen;
{
intj;
HBRUSHhOldBrush;HPENhPen;
PAGE1
structMySaveLine //直线保存
{
POINTptS;
POINTptE;
COLORREFcolor;intpenWidth;
intpenStyle;
};
绘制直线的函数如下:
voidDrawMyLine(HDChdc) //绘制直线
{
HPENhPen;HPENhPenOld;intj;
for(j=0;jMAX;j++)
{
hPen=CreatePen(SaveLine[j].penStyle,SaveLine[j].penWidth,SaveLine[j].color);hPenOld=(HPEN)SelectObject(hdc,hPen);
MoveToEx(hdc,SaveLine[j].ptS.x,SaveLine[j].ptS.y,NULL);LineTo(hdc,SaveLine[j].ptE.x,SaveLine[j].ptE.y);SelectObject(hdc,hPenOld);
DeleteObject(hPen);
}
}
绘制矩形
首先定义一个矩形的结构体数组
structMySaveRectangle //矩形保存
{
POINTptS;
POINTptE;
COLORREFcolor;HBRUSHhNewBrush;intbrushColor;
intpenWidth;intpenStyle;
};
绘制矩形的函数如下:
voidDrawMyRectangle(HDChdc) //绘制矩形
HPENhPenOld;for(j=0;jMAX;j++)
{
hPen = CreatePen(SaveRectangle[j].penStyle, SaveRectangle[j].penWidth,SaveRectangle[j].color);
hPenOld=(HPEN)SelectObject(hdc,hPen);switch(pDrawData-iSelectionBrush)
{
caseIDM_BRUSH_WHITE:
caseIDM_BRUSH_LTGRAY:
hOldBrush = (HBRUSH)SelectObject (hdc,GetStockObject(SaveRectangle[j].brushColor));
break;
caseIDM_BRUSH_COLORSOLID:
caseIDM_BRUSH_CROSS:
hOldBrush=(HBRUSH)SelectObject(hdc,SaveRectangle[j].hNewBrush);break;
}
Rectangle(hdc,SaveRectangle[j].ptS.x,SaveRectangle[j].ptS.y,SaveRe
您可能关注的文档
- 运动入园幼儿运动基本动作要领及教学要点课件.pptx
- 怎样让我们吃得更安全.docx
- 保护生物的多样性 (共40张PPT).pptx
- 必威体育精装版钢铁公司烧结烟气脱硫项目安装工程施工组织设计.doc
- 校园清洁生产审核及改进技术z1.docx
- 小学英语演讲比赛方案11.doc
- 《狐假虎威》PPT课件5(完整优质版).ppt
- 山西省长治市2024-2025学年九年级上学期期末适应性训练英语试题(含笔试答案,无听力音频及原文).pdf
- 插花花艺师理论复习试题含答案.docx
- 陕西省安康市2024-2025学年八年级(上)期中物理试卷(含解析).pdf
- 高级插花花艺师复习试题附答案.docx
- 2024中国智慧场馆行业发展监测及投资战略规划研究报告.docx
- 2024中国配合饲料加工行业市场深度分析及发展前景预测报告.docx
- 高级插花花艺师复习试题.docx
- 2024中国吹瓶-灌装-密封技术市场前景预测及投资规划研究报告.docx
- 中级插花花艺师练习卷含答案.docx
- 2024中国药品采购及代理市场规模预测及投资战略咨询报告.docx
- 陕西省商洛市商南县丹南三校2024-2025学年九年级上学期12月月考物理试题(无答案).pdf
- 2024中国打击乐器行业市场前景预测及投资战略研究报告.docx
- 插花花艺师五级(2024)复习测试有答案.docx
文档评论(0)