如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
面向对象编程技术实验四实验报告班级:通信2班学号:201000800212姓名:王煜莹时间:2012-10-20目录TOC\o"1-3"\h\uHYPERLINK\l_Toc201891实验要求PAGEREF_Toc201893HYPERLINK\l_Toc64392实验过程及结果PAGEREF_Toc64393HYPERLINK\l_Toc8811A、对话框部分:PAGEREF_Toc88113HYPERLINK\l_Toc30761B、图形绘制函数的使用PAGEREF_Toc307615HYPERLINK\l_Toc25728C、定时器使用PAGEREF_Toc2572810HYPERLINK\l_Toc205403问题及解决方案PAGEREF_Toc2054011HYPERLINK\l_Toc216224实验总结PAGEREF_Toc2162211HYPERLINK\l_Toc12704附件PAGEREF_Toc1270412HYPERLINK\l_Toc14592关键程序代码PAGEREF_Toc1459212HYPERLINK\l_Toc16628A、对话框部分:PAGEREF_Toc1662812HYPERLINK\l_Toc7885B、自定义对话框:PAGEREF_Toc788515实验要求掌握通用对话框和自定义对话框的使用;掌握图形绘制函数的使用;掌握定时器的设置和定时消息响应。实验过程及结果A、对话框部分:研究第五章示例程序,理解通用对话框、自定义对话框的使用方式,为本次实验打基础。在自己的工作目录中建立新工程。从已有的示例程序中选取适当的代码,修改形成自己的框架。代码整理过程中要特别注意代码的格式。〔源文件名后缀必须是.cpp,不可以是.c〕增加对WM_PAINT消息的处理,在窗口客户区输出文本。caseWM_PAINT:hdc=BeginPaint(hWnd,&ps);GetClientRect(hWnd,&rect);DrawText(hdc,TEXT("欢迎使用"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);EndPaint(hWnd,&ps);return0;增加菜单资源,要求至少包含“更改文本颜色”和“更改背景颜色”两个命令。自定义一个简单的对话框,该对话框内至少有一个“选择背景色”按钮和一个静态文本框(或Edit框)以及确定、取消两个按钮。该简单对话框的处理逻辑为:点击“选择背景色”按钮,弹出通用对话框选择颜色,选择完颜色后,将颜色值显示到静态文本框(或Edit框)中。再点击该对话框的“确定”按钮,可将结果颜色值通过变量交接给外部程序使用。编写上述自定义对话框的处理函数。switch(LOWORD(wParam)){caseIDM_SET_BKColor:if(DialogBox((HINSTANCE)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);InvalidateRect(hWnd,NULL,TRUE);}caseIDM_SET_SCRIPTColor:if(ChooseColor(&cc)){crText=cc.rgbResult;InvalidateRect(hWnd,NULL,TRUE);}增加响应菜单命令的代码。在“更改文本颜色”命令的响应中调用通用颜色对话框选择新的颜色。新选定的文本颜色用全局变量或静态变量保存,在主窗口刷新消息(WM_PAINT)处理中用该颜色显示原来输出的文本。caseIDC_BUT_SELCOLOR:Set