资源描述:
《Windows程序设计实验报告模板 - 副本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Windows程序设计实验报告TechnologyChmistryExperimentReport学生所在学院:软件学院学生所在班级:软件工程2班学生姓名:韩娜娜指导教师:穆云峰、李季辉、李可、王艳芬教务处2016年5月Windows程序设计实验报告目录1.概述2一、实验目的2二、实验内容2三、功能分析2四、窗口2五、模块分解32.主窗口3一、菜单的创建3二、子窗口创建5三、画笔宽度对话框5四、主要代码73.工作区窗口10一、结构体定义10二、绘图函数(drawfun.cpp)111.鼠标落下112.鼠
2、标弹起123.鼠标移动13三、重绘131.drawfun.cpp132.graphicfile.cpp16四、文件打开与保存181.drawwnd.cpp182.PopFile.cpp193.Graphicfile.cpp20五、主要代码204.颜色选择窗口23一、颜色选择窗口创建23二、把鼠标选中的颜色传递给绘图区24三、主要代码245.工具栏窗口和工具选择窗口28一、工具选择的实现28二、把鼠标选中的工具传递给绘图区29三、主要代码296.实验总结37一、实验结果37二、感想体会3736Window
3、s程序设计实验报告1.概述一、实验目的掌握用C/C++语言采用API在Windows平台下编写软件的方法,熟悉消息驱动的本质;熟悉Windows平台基本控件的本质、熟悉动态链接库的使用,加深对课堂知识的掌握。二、实验内容仿照Windows操作系统附件的绘图软件设计一个绘图程序,依次为程序增加绘图函数、菜单选择、工具选择、颜色选择、文件操作等功能,可以在此基础上进行扩充,最终完成一个相对完整的绘图程序。三、功能分析1.实现曲线,直线,矩形,椭圆图形的绘制;2.实现图形线条宽度,颜色的改变以及矩形和椭圆的填
4、充;3.对绘制图形的保存以及,对以保存的文件的打开和另存;4.清屏功能。四、窗口窗口类对应的处理函数szWindowClass(主窗口)WndProc()szDrawWndClass(工作区窗口)WndDrawProc()szColorBoxClass(颜色选择窗口)ColorBoxProc()szToolBtnClass(工具选择窗口)ToolBtWndProc()szToolboxClass(工具栏窗口)ToolboxWndProc()36Windows程序设计实验报告五、模块分解根据程序运行时的操
5、作来划分,本程序可大致分为三大功能模块,分别为调色板,工具箱,工作区绘图,如下:1.调色板模块本模块用来提供绘图时的颜色的选择,并将改变后的颜色显示在调色板颜色示例的矩形区域中。2.工具箱模块本模块用来提供绘图时工具的选择,当选择了某一工具后,该工具按钮是选中状态,其他按钮是凸起状态。3.工作区绘图模块本模块用来提供鼠标完成各种图形的绘制的区域。2.主窗口一、菜单的创建caseWM_COMMAND:wmId=LOWORD(wParam);wmEvent=HIWORD(wParam);//Parsethe
6、menuselections:switch(wmId){caseIDM_ABOUT:DialogBox(hInst,(LPCTSTR)IDD_ABOUTBOX,hWnd,(DLGPROC)About);break;caseIDM_EDIT_PENWIDTH://把线的宽度传到对话框里if(DialogBoxParam(hInst,(LPCTSTR)IDD_DLG_PENWIDTH,hWnd,(DLGPROC)DlgPenWidth,(LPARAM)&iPenWidth)==IDOK){SendMessa
7、ge(hWndDraw,WM_CHANGEPENWIDTH,(WPARAM)0,(LPARAM)iPenWidth);}break;caseIDM_VIEW_COLOR://如果颜色被选中则显示,如果不被选中则不显示if(IsWindowVisible(hWndColor))36Windows程序设计实验报告{ShowWindow(hWndColor,SW_HIDE);CheckMenuItem(hMenu,IDM_VIEW_COLOR,MF_BYCOMMAND
8、MF_UNCHECKED);}else{
9、ShowWindow(hWndColor,SW_SHOWNORMAL);CheckMenuItem(hMenu,IDM_VIEW_COLOR,MF_BYCOMMAND
10、MF_CHECKED);}break;caseIDM_VIEW_TOOLS://如果工具被选中则显示,如果不被选中则不显示if(IsWindowVisible(Tb.hwndToolbox)){ShowWindow(Tb.hwndToolbox,SW_HIDE);CheckM