- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
山东大学威海分校电子系 2007级
面向对象编程技术
实验四实验报告
班 级:
学 号:
姓 名:***
版本号: 1
时 间:2009-11-07
目录
TOC \o 1-3 \h \z \u 1 实验要求 ………..3
2 实验过程及结果 ..3
A对话框部分 3
基本要求部分 3-5
刷新窗口显示 5-13
B图形绘制部分 13
基本要求部分 13
刷新窗口显示 13-20
C定时器部分 20-21
D问题及解决方案 21
3 实验总结 21-22
附录 关键代码 22
1.对话框,时钟程序代码: 22-29
2.图形绘制函数代码: 29-36
实验要求
掌握通用对话框和自定义对话框的使用;掌握图形绘制函数的使用;掌握定时器的设置和定时消息响应
实验过程及结果
对话框部分:
研究第五章示例程序,理解通用对话框、自定义对话框的使用方式。
在自己的工作目录中建立新工程,工程名称DuiHuaKuang,文件名称DuiHuaKuang.cpp。从已有的示例程序中选取适当的代码,修改形成自己的框架。
增加对WM_PAINT消息的处理,在窗口客户区输出文本。显示如下图:
增加菜单资源,要求至少包含“更改文本颜色”和“更改背景颜色”两个命令。截图如下所示:
自定义一个简单的对话框,该对话框内至少有一个“选择背景色”按钮和一个静态文本框(或Edit框)以及确定、取消两个按钮。截图如下所示:
编写上述自定义对话框的处理函数:BOOL CALLBACK ColorDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
增加响应菜单命令的代码
在“更改文本颜色”命令的响应中调用通用颜色对话框选择新的颜色。新选定的文本颜色用全局变量或静态变量保存,在主窗口刷新消息(WM_PAINT)处理中用该颜色显示原来输出的文本。
更改背景颜色命令响应中激活自定义对话框,对话框结束后,根据选择的颜色,结合SetClassLong和CreateSolidBrush函数,创建新的画刷,并替换原来主窗口类使用的画刷。( HBRUSH hbrBack = CreateSolidBrush(dwColor); SetClassLong(hWnd, GCL_HBRBACKGROUND, (LONG) hbrBack); )
刷新窗口看显示结果是否符合要求。运行结果显示如下图:
单击鼠标左键,弹出自定义对话框,点击“请选择文字颜色”按钮,弹出通用对话框。
选择好文字颜色,点击“确定”按钮,文字颜色值显示在静态文本框中如下图所示:
点击确定后,文字颜色修改成功:
选择菜单中编辑下的”更改文字颜色”选项,弹出通用对话框:
选择好颜色后,选“确定”则文字颜色改变:
选择菜单中编辑下“更改背景颜色”选项,弹出自定义对话框:
输入颜色值:
按“确定”按钮后:
图形绘制函数的使用
研习EASYGDI示例程序。查看各个GDI绘制函数的使用方法。
在自己的工作目录中建立新工程。要求同2
增加对WM_PAINT消息的处理,在其中使用
Polyline
PolyPolyline
Polygon
PolyPolygon
等函数,注意在WM_PAINT消息中对HDC的获取和释放使用的函数是BeginPaint和EndPaint函数。
按与Polyline相同的函数格式编写自定义的折线绘制函数,新函数命名为MyPolyline(用MoveToEx和LineTo实现),用该函数替换上一步代码(11)中的Polyline,应该获得同样的运行结果。
编写MyPolyPolyline和MyPolyPolygon,替换11中的库函数,获得同样的运行结果,以此加深对函数编写、指针方式参数传递的理解。
刷新窗口看显示结果是否符合要求。运行结果显示如下图:
在菜单下选择“编辑”下的Paint_polyline 选项,则图形如下所示:
在菜单下选择“编辑”下的Paint_polygon 选项,则图形如下所示
:
在菜单下选择“编辑”下的Paint_polypolygon 选项,则图形如下所示:
在菜单“更改”中选择MyPolyline,调用自定义Polyline函数显示如下图所示:
在菜单“更改”中选择MyPolypolyline,调用自定义Polypolyli
您可能关注的文档
最近下载
- 名词单数变复数专项练习题(含答案).docx VIP
- 《人大版外国新闻传播史笔记(郑超然_程曼丽等)》.doc VIP
- T_CRES 0027-2025 离网型风氢储系统通用要求.pdf VIP
- 附件5 知识产权和技术标准完成情况_202012011458.docx VIP
- 2024全国职业院校技能大赛GZ084舞台布景赛项规程+赛题 (2).docx VIP
- 消防救援队伍作战训练安全风险分析及对策.pptx VIP
- 深度学习在图像中的应用.深度学习在图像中的应用.ppt VIP
- 消防救援作战训练安全-消防救援队伍作战安全知识专题讲座.pptx VIP
- 高中英语2025届高考应用文介绍传统文化写作素材(高级短语+优美句式+范文欣赏).doc VIP
- 消防队伍的训练与作战.pptx VIP
原创力文档


文档评论(0)