面向对象编程技术实习报告

面向对象编程技术实习报告

ID:14645825

大小:1.31 MB

页数:23页

时间:2018-07-29

面向对象编程技术实习报告_第1页
面向对象编程技术实习报告_第2页
面向对象编程技术实习报告_第3页
面向对象编程技术实习报告_第4页
面向对象编程技术实习报告_第5页
资源描述:

《面向对象编程技术实习报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、面向对象编程技术实验四实验报告班级:通信2班学号:201000800212姓名:王煜莹时间:2012-10-20目录1实验要求32实验过程及结果3A、对话框部分:3B、图形绘制函数的使用5C、定时器使用103问题及解决方案114实验总结11附件12关键程序代码12A、对话框部分:12B、自定义对话框:151实验要求掌握通用对话框和自定义对话框的使用;掌握图形绘制函数的使用;掌握定时器的设置和定时消息响应。2实验过程及结果A、对话框部分:1.研究第五章示例程序,理解通用对话框、自定义对话框的使用方式,为本次实验打基础。2.在自己的工作目录

2、中建立新工程。从已有的示例程序中选取适当的代码,修改形成自己的框架。代码整理过程中要特别注意代码的格式。〔源文件名后缀必须是.cpp,不可以是.c〕3.增加对WM_PAINT消息的处理,在窗口客户区输出文本。caseWM_PAINT:hdc=BeginPaint(hWnd,&ps);GetClientRect(hWnd,&rect);DrawText(hdc,TEXT("欢迎使用"),-1,&rect,DT_SINGLELINE

3、DT_CENTER

4、DT_VCENTER);EndPaint(hWnd,&ps);return0;4.增加菜

5、单资源,要求至少包含“更改文本颜色”和“更改背景颜色”两个命令。5.自定义一个简单的对话框,该对话框内至少有一个“选择背景色”按钮和一个静态文本框(或Edit框)以及确定、取消两个按钮。该简单对话框的处理逻辑为:点击“选择背景色”按钮,弹出通用对话框选择颜色,选择完颜色后,将颜色值显示到静态文本框(或Edit框)中。再点击该对话框的“确定”按钮,可将结果颜色值通过变量交接给外部程序使用。1.编写上述自定义对话框的处理函数。switch(LOWORD(wParam)){caseIDM_SET_BKColor:if(DialogBox((H

6、INSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG1),hWnd,ColorDlgProc)==IDOK){if(change)hold=(HBRUSH)GetWindowLong(hWnd,GCL_HBRBACKGROUND);SetClassLong(hWnd,GCL_HBRBACKGROUND,(LONG)CreateSolidBrush(g_Color));change=TRUE;if(change)DeleteObject(hold);In

7、validateRect(hWnd,NULL,TRUE);}caseIDM_SET_SCRIPTColor:if(ChooseColor(&cc)){crText=cc.rgbResult;InvalidateRect(hWnd,NULL,TRUE);}2.增加响应菜单命令的代码。¨在“更改文本颜色”命令的响应中调用通用颜色对话框选择新的颜色。新选定的文本颜色用全局变量或静态变量保存,在主窗口刷新消息(WM_PAINT)处理中用该颜色显示原来输出的文本。caseIDC_BUT_SELCOLOR:SetDlgItemInt(hDlg,ID

8、C_COLORVALUE,GetMyColor(hDlg),FALSE);returnTRUE;caseWM_PAINT:hdc=BeginPaint(hWnd,&ps);GetClientRect(hWnd,&rect);SetTextColor(hdc,crText);DrawText(hdc,TEXT("欢迎使用"),-1,&rect,DT_SINGLELINE

9、DT_CENTER

10、DT_VCENTER);EndPaint(hWnd,&ps);return0;¨更改背景颜色命令响应中激活自定义对话框,对话框结束后,根据选择的颜色,

11、结合SetClassLong和CreateSolidBrush函数,创建新的画刷,并替换原来主窗口类使用的画刷。{if(change)hold=(HBRUSH)GetWindowLong(hWnd,GCL_HBRBACKGROUND);SetClassLong(hWnd,GCL_HBRBACKGROUND,(LONG)CreateSolidBrush(g_Color));change=TRUE;if(change)DeleteObject(hold);InvalidateRect(hWnd,NULL,TRUE);}1.刷新窗口看显示结果

12、是否符合要求(可在设置完颜色或画刷之后直接用InvalidateRect函数激发WM_PAINT消息)。B、图形绘制函数的使用1.研习EASYGDI示例程序。查看各个GDI绘制函数的使用方法。2.在自己的工

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

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

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