Windows程序设计实践报告
- 格式:doc
- 大小:437.50 KB
- 文档页数:12
windows的实验报告(完整版)实验标题:Windows的实验报告一、实验目的本实验旨在深入了解Windows操作系统的基本原理和功能,并掌握Windows操作系统的安装、配置和使用方法。
二、实验内容1. Windows操作系统的安装通过制作启动盘或使用光盘安装,选择适当的版本和安装选项进行Windows操作系统的安装。
2. Windows操作系统的配置进行系统设置,包括语言和区域设定、时区设定、键盘和鼠标设置等。
3. Windows操作系统的使用掌握Windows操作系统的基本操作,包括桌面管理、文件和文件夹管理、应用程序的安装和卸载、系统设置等。
4. Windows操作系统的网络配置了解并设置Windows操作系统的网络连接,包括有线网络和无线网络的配置。
三、实验步骤1. Windows操作系统的安装按照安装引导界面的指示,选择合适的选项完成安装过程。
注意选择适配的驱动程序并进行相应设置。
2. Windows操作系统的配置在系统设置中,选择适当的语言和区域,设定正确的时区。
根据个人需求,进行键盘和鼠标相关设置。
3. Windows操作系统的使用3.1 桌面管理:了解和使用桌面的基本布局,包括桌面图标的添加、删除、移动等操作。
3.2 文件和文件夹管理:学习使用资源管理器对文件和文件夹进行管理,包括创建、复制、粘贴、删除等操作。
3.3 应用程序的安装和卸载:了解如何通过Windows商店或第三方应用程序进行安装,并学会使用控制面板进行软件的卸载。
3.4 系统设置:掌握系统设置的方法,包括背景壁纸的更换、屏幕分辨率的调整、电源管理等。
4. Windows操作系统的网络配置4.1 有线网络的配置:了解如何通过网线连接计算机和局域网以及设置IP地址、子网掩码等网络参数。
4.2 无线网络的配置:学习如何连接无线网络并进行密码设置,了解无线网络的高级配置选项。
四、实验结果经过以上实验步骤的操作,成功完成了Windows操作系统的安装、配置和使用。
竭诚为您提供优质文档/双击可除windows课程设计心得体会篇一:windows程序设计(c语言)实训报告hubeIunIVeRsITYoFAuTomoTIVeTechnoLogYc语言程序设计实训报告实训题目:汽车零部件采购管理程序专业:电气与信息工程学院计算机系班级:T1323-1姓名:王俊成绩:完成日期:20XX-5-25指导教师:史旅华目录1.实训题目与要求.系统设计.程序测试与运行结果.实训总结.程序源代码1.实训题目与要求汽车零部件采购管理程序题目描述已知在汽车生产时,需要向零部件生产厂商采购零部件,设计一个汽车零部件采购管理程序,以方便采购管理部门对采购零部件的管理。
该单位每次采购都有一个采购编号,每次采购一种零部件。
该程序应该具有如下功能(1)能从键盘输入采购信息。
(2)指定采购编号,显示采购的零部件信息。
(3)指定零部件名称,显示该零部件的所有采购信息。
(4)给定采购编号,修改采购信息。
(5)给定采购编号,删除采购信息。
题目要求:(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)采购信息包括:采购编号、零部件名称、采购日期、采购员、采购数量、采购单价、供货单位。
(3)为程序设计windows窗口,在该窗口上以按钮的形式为用户提供“菜单”,通过点击各个功能项对应的按钮完成操作。
输入要求:(1)用户可以根据需求,选定相应的操作项目。
进入每个操作后,通过窗口的文本框,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,采购日期必须是一个合法的日期格式,采购编号是唯一的(一次采购对应一个采购编号)。
输出要求:(1)应用程序运行后,要在屏幕上显示一个按钮形式的“菜单”。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
Windows编程实验二实验报告一、实验目的本次 Windows 编程实验的目的在于深入了解和掌握 Windows 应用程序的开发流程,通过实际编程操作,提高对 Windows 消息机制、窗口处理、图形绘制等方面的理解和应用能力。
二、实验环境操作系统:Windows 10开发工具:Visual Studio 2019编程语言:C++三、实验内容1、窗口创建与消息处理创建一个基本的 Windows 窗口,并实现对窗口消息(如WM_CREATE、WM_PAINT、WM_DESTROY 等)的处理。
通过响应这些消息,完成窗口的初始化、绘制和关闭操作。
2、图形绘制在窗口客户区进行简单的图形绘制,如直线、矩形、圆形等。
掌握GDI(图形设备接口)的基本绘图函数和操作方法。
3、菜单与控件添加菜单到窗口,并处理菜单命令消息。
同时,尝试在窗口中添加一些基本的控件,如按钮、编辑框等,并实现相应的交互功能。
四、实验步骤1、创建项目打开 Visual Studio 2019,创建一个新的 Windows 桌面应用程序项目。
选择 C++作为编程语言,并按照向导进行设置,包括项目名称、存储位置等。
2、窗口类定义定义一个窗口类(WNDCLASS),设置窗口的样式、窗口过程函数指针等属性。
```cppWNDCLASS wndClass ={ 0 };wndClasslpfnWndProc = WndProc;wndClasshInstance = hInstance;wndClasslpszClassName = L"MainWindowClass";RegisterClass(&wndClass);```3、窗口创建与显示使用`CreateWindow` 函数创建窗口,并通过`ShowWindow` 和`UpdateWindow` 函数显示窗口。
```cppHWND hWnd = CreateWindow(L"MainWindowClass",L"Windows Programming Experiment",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,NULL, NULL, hInstance, NULL);ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);```4、消息循环在主函数中,通过一个无限循环来获取和分发窗口消息。
Windows计算机科学与技术学院计算机科学与技术专业班姓名学号目录Windows (1)实验一、熟悉visual c++的编程环境 (3)实验二、对话框的使用 (5)实验三、调整线程优先级 (8)实验4内存实验 (10)实验一、熟悉visual c++的编程环境一实验目的1.了解和使用VC集成开发环境2.熟悉VC环境的基本命令和功能键,3.熟悉常用的功能菜单命令4.学习使用VC++环境的帮助5.学习完整的C++程序开发过程6.理解简单的C++程序结构7.了解用Visual C++开发Windows MFC应用程序的过程二实验内容1.熟悉Visual C++实验环境(1) 启动Developer Studio, 看看初始化界面由哪些部分组成(2) 查看各菜单项, 看看都有哪些子菜单和命令(3) 将鼠标放置于各工具条图标上, 系统会自动显示该图标代表的命令含义, 了解一下都有哪些命令。
(4) 在任意工具条上单击鼠标右键, 弹出式菜单上将显示所有可用的工具条, 选择其中没有对号(√)的项, 看看有什么效果, 再选择有对号的项, 又有什么效果?(5) 将鼠标移动到任意工具条上, 将鼠标放到图标间隙, 按下鼠标左键不放,移动鼠标到屏幕中间, 有什么现象发生?再将它拖回到原来位置, 有什么现象发生?(6) 将鼠标移动到左边的工作区窗口, 按下鼠标左键不放, 移动鼠标到屏幕中间, 有什么现象发生?再将它拖回到原来位置, 有什么现象发生?7) 将鼠标移动到下边的输出窗口, 按鼠标右键, 弹出一个菜单, 选择其中的菜单项"Hide", 结果如何?要重新显示该窗口, 选择菜单View|Output, 窗口是不是又显示出来了?(8) 学习使用帮助系统。
如果你用的是Visual C++5.0, 则在工作区窗口的InfoView中选择你感兴趣的内容, 双击它, 在文档区显示具体的帮助信息。
如果你用的是Visual C++6.0, 选择菜单Help|Contents, 启动MSDN联机帮助系统, 学习使用该帮助系统。
windows 操作实训报告一、实训背景和目的Windows 操作系统是当今最常用的计算机操作系统之一,具有广泛的应用领域和功能。
为了更好地掌握和应用Windows操作系统,提高个人计算机操作和管理能力,本次实训旨在通过实践操作和实际应用,深入了解Windows操作系统的各项功能和使用技巧。
二、实训过程和内容1. 系统安装与升级首先进行系统的安装与升级操作,根据实际需求选择合适的版本和安装方式,了解系统安装的基本流程和注意事项。
在此过程中,掌握系统安装过程中的分区与格式化、驱动程序的安装以及必要的系统设置。
2. 操作界面和桌面布局熟悉Windows操作系统的操作界面和桌面布局,掌握桌面图标的添加、删除和排序,个性化设置如壁纸、主题和屏幕保护等。
同时了解开始菜单的使用和各个系统工具的快捷方式,以便于快速访问和使用。
3. 文件和文件夹管理学习使用Windows资源管理器进行文件和文件夹的管理,包括创建、复制、移动、删除和重命名等操作。
了解文件属性和权限设置,掌握文件搜索和筛选的方法,提高文件管理的效率和准确性。
同时学习使用回收站进行文件的恢复和彻底删除操作。
4. 系统设置和管理深入了解Windows系统的设置和管理,包括用户账户和权限管理、系统更新和补丁安装、网络设置和连接以及防火墙和杀毒软件的配置等。
学习系统性能监测和故障排除技巧,提高系统的稳定性和安全性。
5. 常用应用程序的使用掌握常用的办公软件、浏览器、邮件客户端等应用程序的基本使用方法和技巧。
学习网络资源的访问和下载,掌握在线视频播放和音乐收听的操作,提高多媒体应用的体验和效果。
三、实训效果与感想通过本次实训,我对Windows操作系统的各项功能和使用技巧有了更深入的了解和掌握。
在实践操作和实际应用中,我发现Windows操作系统的稳定性和易用性非常出色,提供了丰富的功能和工具来满足各种需求。
同时,通过对文件和文件夹的管理和系统设置的学习,我提高了计算机操作和管理的能力,更加熟练地处理和组织文件,有效地保护和维护系统的安全和稳定。
第1篇一、实验目的1. 熟悉电脑设计应用的基本操作和功能。
2. 掌握电脑设计软件的使用方法,提高设计水平。
3. 培养学生的创新思维和实际操作能力。
二、实验内容1. 实验环境:Windows 10操作系统,Adobe Photoshop CC 2019版本。
2. 实验内容:(1)界面熟悉打开Photoshop CC,观察并熟悉软件界面,了解工具栏、菜单栏、面板等基本元素。
(2)图层操作创建一个新文件,设置画布大小、分辨率和颜色模式。
创建图层,学习图层的创建、编辑、合并、删除等操作。
(3)绘图工具学习使用钢笔工具、矩形工具、椭圆工具等绘图工具,绘制简单图形。
(4)文字编辑使用文字工具输入文字,调整文字的字体、字号、颜色、对齐方式等。
(5)滤镜效果应用滤镜效果,如模糊、锐化、颜色变换等,对图像进行美化处理。
(6)图片合成导入两张图片,学习使用图层蒙版、混合模式等技巧进行图片合成。
(7)导出作品将设计好的作品导出为常用格式,如JPG、PNG等。
三、实验步骤1. 打开Photoshop CC,创建一个新文件。
2. 熟悉软件界面,了解工具栏、菜单栏、面板等基本元素。
3. 创建图层,学习图层的创建、编辑、合并、删除等操作。
4. 使用钢笔工具、矩形工具、椭圆工具等绘图工具,绘制简单图形。
5. 使用文字工具输入文字,调整文字的字体、字号、颜色、对齐方式等。
6. 应用滤镜效果,如模糊、锐化、颜色变换等,对图像进行美化处理。
7. 导入两张图片,使用图层蒙版、混合模式等技巧进行图片合成。
8. 将设计好的作品导出为常用格式,如JPG、PNG等。
四、实验结果与分析1. 通过本次实验,掌握了Photoshop CC的基本操作和功能。
2. 熟练使用图层、绘图工具、文字编辑、滤镜效果等功能,提高了设计水平。
3. 在图片合成过程中,学会了使用图层蒙版、混合模式等技巧,提高了作品的整体效果。
4. 实验过程中,遇到了一些问题,如图层蒙版的使用、混合模式的选择等,通过查阅资料和请教同学,成功解决了问题。
windows程序设计实验报告《Windows程序设计》实验报告实验室: S306(308)学院:计算机科学与技术专业:计算机科学与技术⽬录实验⼀、熟悉visual c++的编程环境 (3)⼀、实验⽬的和要求: (3)⼆、实验内容、程序清单及运⾏结果: (3)1.编辑第⼀个C++程序 (3)2. ⽤AppWizard建⽴⼀个MFC Windows应⽤ (3)3. 编写简单的计算程序 (4)运⾏结果: (4)三、⼼得体会: (4)实验⼆、对话框的使⽤ (5)⼀、实验⽬的和要求: (5)⼆、实验内容、程序清单及运⾏结果 (5)实验步骤: (5)实验结果: (7)三、⼼得体会: (7)实验三、创建⼀个进程来运⾏⼀个应⽤程序 (8)⼀、实验要求和⽬的 (8)⼆、实验内容、程序清单及运⾏结果 (8)实验步骤: (8)实验结果: (9)三、实验⼼得 (9)实验四、调整线程优先级 (10)⼀、实验要求和⽬的 (10)⼆、实验内容、程序清单及运⾏结果 (10)实验步骤: (10)实验结果: (11)三、实验⼼得 (11)实验⼀、熟悉visual c++的编程环境⼀、实验⽬的和要求:1.了解和使⽤VC集成开发环境2.熟悉VC环境的基本命令和功能键,3.熟悉常⽤的功能菜单命令4.学习使⽤VC++环境的帮助5.学习完整的C++程序开发过程6.理解简单的C++程序结构7.了解⽤Visual C++开发Windows MFC应⽤程序的过程⼆、实验内容、程序清单及运⾏结果:1.编辑第⼀个C++程序源程序代码://hello world example#includeint main() {cout << "hello!"<< endl ;return 0; //正常返回}运⾏结果:2. ⽤AppWizard建⽴⼀个MFC Windows应⽤在窗⼝中输出"Hello,World!",修改OnDraw函数的定义,在最后⼀⾏加⼀句:pDC->TextOut(50,50,"Hello, World");运⾏结果:3. 编写简单的计算程序输⼊圆的半径,计算圆的周长和⾯积并输出。
windows的实验报告(完整版)中南民族⼤学计算机科学学院实验报告课程 Windows程序设计年级专业学⽣学号指导⽼师实验⼀实验标题:按钮控件使⽤⽅法⼀、实验⽬的:学会使⽤按钮控件的使⽤⽅法。
⼆、实验内容及步骤:1.新建项⽬,设置对话框如下所⽰:2.双击头⽂件“ankjDlg.h”,在类构造函数class CankjDlg : public CDialog中定义public:CButton game1,game2,game3,game4,game5,game6;CButton addr1,addr2,addr3,addr4;3.双击⽂件“ankjDlg.cpp”,在void CankjDlg::DoDataExchange(CDataExchange* pDX)中添加ID与变量之间的映射。
DDX_Control(pDX, IDC_RADIO1, addr1);DDX_Control(pDX, IDC_RADIO2, addr2);DDX_Control(pDX, IDC_RADIO3, addr3);DDX_Control(pDX, IDC_RADIO4, addr4);DDX_Control(pDX, IDC_CHECK1, game1);DDX_Control(pDX, IDC_CHECK2, game2);DDX_Control(pDX, IDC_CHECK3, game3);DDX_Control(pDX, IDC_CHECK4, game4);DDX_Control(pDX, IDC_CHECK5, game5);DDX_Control(pDX, IDC_CHECK6, game6);4.在⽂件“ankjDlg.cpp”的BOOL CankjDlg::OnInitDialog()中的“// TODO: 在此添加额外的初始化代码”后⾯添加初始化代码:this->addr1.SetCheck ( BST_CHECKED ) ;this->game1.SetCheck ( BST_CHECKED ) ;this->game2.SetCheck ( BST_CHECKED ) ;this->game3.SetCheck ( BST_CHECKED ) ;this->game4.SetCheck ( BST_CHECKED ) ;this->game5.SetCheck ( BST_CHECKED ) ;this->game6.SetCheck ( BST_CHECKED ) ;5. 双击“确定”按钮,添加代码:CString szMsg ;szMsg += L"您的所在地:" ;if ( this->addr1.GetCheck () == BST_CHECKED )szMsg += L"北京\n" ;else if ( this->addr2.GetCheck () == BST_CHECKED ) szMsg += L"上海\n" ;else if ( this->addr3.GetCheck () == BST_CHECKED ) szMsg += L"厦门\n" ;else if ( this->addr4.GetCheck () == BST_CHECKED ) szMsg += L"杭州\n" ;szMsg += L"您的兴趣爱好:" ;if ( this->game1.GetCheck() == BST_CHECKED )szMsg += L"体育运动" ;if ( this->game2.GetCheck() == BST_CHECKED )szMsg += L"影视娱乐" ;if ( this->game3.GetCheck() == BST_CHECKED )szMsg += L"⿊客技术" ;if ( this->game4.GetCheck() == BST_CHECKED )szMsg += L"旅游观光" ;if ( this->game5.GetCheck() == BST_CHECKED )szMsg += L"休闲棋牌" ;if ( this->game6.GetCheck() == BST_CHECKED )szMsg += L"⽹络游戏" ;this->MessageBox ( szMsg, L"您的选择" ) ;三、调试及结果:①调试的初始界⾯:②选择后的输出:实验⼼得:实验⼆实验标题:组合框⼀、实验⽬的:了解组合框的概念,并掌握组合框的概念。
江苏大学《Windows程序设计》实验报告———记事本所在学院:计算机学院所在班级:软件1001学生姓名:张建彬学生学号:3100608024指导教师:曹汉清2012年 12 月Windows程序设计报告一、选题原因Notepad文本文档是我们工作生活中经常用到的文件编辑器,因此了解它也很必要,所以选择了用windows窗体编辑一个Notepad。
Notepad记事本,实现了Windows自带的记事本的部分功能外,并且还可以任意更改字体的字体类型、大小和颜色,并在状态栏中显示时间。
为了方便用户的操作,还在程序的窗体上放置了一个工具栏。
Notepad记事本程序具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏。
接下来将详细的介绍记事本程序的设计与实现的步骤和方法。
二、设计思想及框架新建好“Notepad”项目后,定位到记事本程序的窗体设计器窗口,然后依次在窗体上放置以下控件(各1个):(1)MenuStrip(菜单控件)。
(2)ToolStrip(工具栏控件)。
(3)RichTextBox(多格式文本框控件)。
(4)StatusStrip(状态栏控件)。
(5)OpenFileDialog(打开对话框)。
(6)SaveFileDialog(保存对话框)。
(7)FontDialog(字体对话框)。
(8)Timer(计时器控件)。
最终的用户界面如图所示(设置好属性后),其中MenuStrip控件、ToolStrip 控件、StatusStrip控件、OpenFileDialog对话框、SaveFileDialog对话框、FontDialog 对话框和Timer控件显示在窗体设计器下方的组件板上。
记事本用户界面窗体的属性设置将菜单控件MenuStrip的Name属性设为“mnusNotepad”,按照第6章介绍的方法设计好下拉菜单,它共有【文件(F)】、【编辑(E)】、【格式(O)】、【查看(V)】和【帮助(H)】5个下拉子菜单。
windows的实验报告(完整版)实验名称:Windows的实验报告实验目的:通过对Windows操作系统的学习和实践,了解并熟悉Windows操作系统的基本功能、操作方法及常用工具,提高计算机操作和应用能力。
实验要求:熟悉Windows操作系统的基本操作方法、文件管理及常用工具的使用。
实验设备:一台装有Windows操作系统的计算机。
实验步骤:1. Windows操作系统的启动与登录a. 按下计算机的电源按钮,等待计算机启动。
b. 在Windows登录界面输入正确的用户名和密码,点击登录。
2. Windows桌面的基本组成a. 熟悉桌面的各个元素,包括桌面图标、任务栏、开始菜单等。
b. 学习桌面图标的创建、删除、移动和重命名等操作。
3. 文件和文件夹管理a. 学习使用资源管理器打开文件和文件夹。
b. 创建新的文件夹,进行文件和文件夹的复制、剪切、粘贴和删除操作。
c. 学习使用搜索功能在计算机中查找文件和文件夹。
4. 常用工具的使用a. 学习使用文本编辑器编辑文本文件。
b. 学习使用画图工具创建简单的图形。
c. 了解并使用系统自带的计算器、记事本、画图、粘贴板等工具。
5. 网络连接与浏览器使用a. 熟悉网络连接的设置,连接到无线网络或有线网络。
b. 打开浏览器,访问常用的网站,搜索信息等。
6. Windows系统设置a. 了解并设置桌面背景、屏幕保护和分辨率等显示设置。
b. 了解并设置日期、时间和时区等时间设置。
c. 学习设置打印机和其他外部设备的配置。
7. 系统维护与安全a. 学习使用杀毒软件进行病毒扫描和清理。
b. 学习使用Windows自带的系统维护工具,如磁盘清理、磁盘碎片整理等。
8. 实验总结通过本次实验,我对Windows操作系统的基本功能和使用方法有了更深入的了解。
掌握了Windows桌面的基本组成,文件和文件夹的管理方法,以及常用工具的使用。
还学会了网络连接与浏览器的操作,Windows系统的基本设置,以及系统维护与安全等知识点。
~Windows程序设计实践报告;BY:08级空间信息与数字技术 60020马腾目录任务一:Windows消息循环机制及API程序设计实践 (3)一、实践目的 (3)二、任务概述 (3)三、windows消息循环 (3)四、学习收获 (3)任务二:基于MFC的对话框程序设计 (4)一、任务概述 (4)二、MFC消息映射 (4)三、计算器程序的设计思路 (4)四、遇到困难及解决 (5)五、关键代码 (5)六、运行情况 (6)七、收获 (6)任务三:基于MFC的单文档绘图程序设计 (7)一、任务概述 (7)二、模块设计及封装 (7)三、设计的优点 (8)四、程序风格 (8)五、运行情况 (8)六、使用方式 (9)七、困难及解决 (12)任务一:Windows消息循环机制及API程序设计实践一、实践目的通过实践充分理解Windows的消息循环机制,了解Windows的API函数族的分类及大致功能,并在此基础上了解基本Windows API方式开发的窗口程序的基本过程。
任何框架开发环境归根结底都是对Windows API函数的封装与调用。
在利用一个框架环境开发Windows程序的过程中,应该明白所使用的框架模块调用了Windows API中的那些功能函数。
二、任务概述用visual C++开发一个Win32窗口程序,并实现如下功能:实现菜单功能;点击某两个菜单可在主窗口中显示或清除文字(文字内容不做要求);点击某个菜单可弹出一个自定义的对话框(对话框中的元素不做要求),单击对话框中的“确定”或“取消”按钮,可结束对话框。
三、windows消息循环Windows多进程的窗口图形操作系统与DOS操作系统最大的区别就是:DOS 采用顺序执行的过程,而Windows采用事件的消息驱动。
用户进行的鼠标操作,键盘输入等操作和各个应用程序之间,应用程序和系统之间的操作都作为一个事件,产生消息,进入到指定的消息队列中,等待取出进行处理。
这打破了顺序执行,而采用事件驱动的形式。
四、学习收获1.了解了Windows的消息循环机制2.了解了一个窗口程序的生存的始末,从窗口类的定义,注册窗口类,创建窗口,到程序运行的消息循环的主函数。
3.了解了句柄的概念,每个菜单项,窗口都有一个句柄作为自己的标示,作为消息的一部分,告诉系统处理哪个窗口,菜单项的消息。
4.了解了一些简单的API:CheckMenuItem,DialogBox等。
5.了解了消息分类,处理消息的函数里,将消息分为了WM_COMMAND、WM_PAINT等分别处理窗口命令、窗口的绘制等消息。
以及他们之间的关系。
任务二:基于MFC的对话框程序设计一、任务概述用MFC开发一个计算器程序:对话框类型的程序;能够实现浮点数值的加减乘除运算;界面由一个编辑框和若干按钮组成,编辑框负责表达按钮输入及计算的结果,按钮负责输入数字、加减乘除以及等于等动作的输入;程序的核心功能由标准C++方式实现,并通过MFC框架代码调用其功能;二、MFC消息映射方法:在MFC的类库中有些事继承了CCmdTarget类的类,这些类和消息有关,可以处理消息。
然后为每一个能处理消息的类建立一个消息映射表,就像一张Message Map,将消息和表格中的元素比较,然后调用对应的处理程序,这种操作就叫消息映射。
其中消息映射表的建立使用了几个定义好的宏实现的。
DECLARE_MESSAGE_MAP()BEGIN_MESSAGE_MAP(theClass,baseClass)ON_COMMAND(id,memberFxn)......END_MESSAGE_MAP()来实现对 DECLARE_MESSAGE_MAP定义的结构体的填写。
消息表条目就以ON_COMMAND (id,memberfxn)的格式宏定义不同类型的消息,其中对应消息的句柄,memberfxn表示消息引发的要处理的函数。
将要实现的消息写在BEGIN_MESSAGE_MAP与END_MESSAGE_MAP之间。
然后再编写消息实现的动作在对应的memberfxn函数中。
优点:可以使代码更有条理,要实现的具体功能函数写在一个单独的函数中。
三、计算器程序的设计思路1.确定实现计算功能类的具体结构,需要的成员变量,成员函数等2.在MFC中实现计算器程序的UI3.为UI中的按钮添加事件,并到调用C++功能类中的函数。
4.调试程序,修改BUG四、遇到困难及解决1.对于小数点等符号的处理,输入一个小数点后,不允许再输入,用了一个text1的标识符进行判断。
2.其他符号的重复输入等。
也是利用了定义的变量进行控制texti和text2进行对加减乘除和等号的控制。
五、关键代码功能类声明的成员函数和属性内容,其中constr1 constr2分别储存两个操作数,symb储存符号,result存结构。
外部通过三个send开头的函数传递参数。
Compute是计算函数,其中通过一个switch判断Symb是哪种类型,执行相应的计算语句。
实现了UI上的即使更新。
在输入符号时表示一个操作数的输入完成,所以调用sendconstr方法把参数传入。
同时在输入符号时要判断,是否之前已经连续输入过。
通过text来控制。
六、运行情况由于之前是按照实际的计算器来设计的,没有参照windows里的计算器程序,所以没有设计连乘,连减等功能。
由于之前忘记了考虑负号的问题,所以之后的设计可以用减号来代替负号。
七、收获了解到了MFC中消息映射的实现机制,和如何写消息实现的具体函数,如何修改消息映射表。
通过这次的程序设计体会到了程序设计之初算法设计的重要性,由于之前没有很好的考虑算法,以至于到后面的编写,修改十分的困难,特别是在符号的重复输入,用户的异常处理这一方面,程序应有很大的改进。
虽然很多的BGU最后克服了,但是代码看起来很乱,使用的标识符有时自己也无法分辨。
所以在以后的程序设计中一定会注意做好第一步的设计,不会再盲目的拿来题目就写。
争取在设计之初就把所有可能出现的情况都考虑全面。
任务三:基于MFC的单文档绘图程序设计一、任务概述用MFC开发一个单文档的绘图程序:通过鼠标左键的点击在视图中绘制不同的图形,可绘制的图形包括折线、多边形,并且折线的线宽、颜色以及线形都是可以改变的,多边形的填充方式也可以定制;绘制的图形可以以保存为矢量(矢量格式自定义)文件,并且可以在程序中再次打开,矢量数据的线宽、线形、颜色以及填充模式都要保存在矢量数据文件中,重新打开的矢量数据文件应该是可以再次编辑、修改的。
二、模块设计及封装1.绘制模块:包括动态绘制方法和绘制方法。
其中动态绘制是实现鼠标移动期间的动态绘制。
2.存储模块:包括存储成.mc文件和打开.mc文件两个方法。
3.图形文件格式:直线,椭圆,矩形等绘制均存储两个顶点的方式,折线。
4.编辑模块:包括画笔宽度设置,画笔颜色设置,画刷颜色设置和撤销。
模块的封装:三、设计的优点1.绘制等函数都采用虚函数,对于不同的图形实现各自独特的绘制函数。
这样在就可以用Shape指针的数组来统一的存储图形,在绘制时动态的调用相对的函数。
2.通过上边的方法很好的解决了不同的图形叠加在一起里的问题,使得最后的绘制只需要按照一个for循环的遍历就可以完成。
3.绘制的功能函数与MFC框架很好的分离,功能更函数等类用的是C++的格式,其中的绘制函数用的是Windows API,可以很好的实现代码的复用,在其他框架下也能使用。
四、程序风格1.有时标识符会拼音与英文混用2.喜欢把动态变化的东西设置为静态的成员变量3.代码不够简洁,喜欢把类似功能的代码COPY到另一个地方做修改,所以看起来有些乱。
4.将所有自己写的类的声明写在一个总的头文件中,这样引入到MFC中比较方便5.使用指针,而忽略了引用。
以后应该多使用引用,看起来比较简单。
6.注释喜欢写在声明部分五、运行情况程序可以正常的运行,完成各项功能:六、使用方式1.属性设置单击属性中的画笔颜色或者画刷颜色进行颜色属性的设置。
单击属性中的画笔宽度,弹出对话框,可以滑动滚动条对宽度进行设置。
2.绘图单击绘图可以选择相应的图形对齐进行绘制。
3.编辑部分单击编辑中的撤销,可以撤回上一步,删除最顶层的图形,对于新打开的文件一样适用单击文件中的打开或新建或询问是否保存文件选择.mc格式的文件,即可打开。
保存按钮可以存储现在正在编辑的文件。
七、困难及解决1.在最初的编写功能类时实现了一些设置各种属性的函数,发现到后面的设计绘制中用不到,没有很好的了解软件的使用实现流程。
2.对于颜色模式的认识不够清楚导致了很长一段时间绘不上去,却找不出BUG发现最初的默认画笔的颜色不正确。
3.函数名的冲突,椭圆函数名与API中的函数名产生了冲突,又重新再之前加了MY4.动态绘制时,临时文件的存储位置,由于为了与MFC的完全分离,所以在Shape类中加了几个静态的变量用来存储动态的内容,发现这样做让程序很难看懂,所以以后这些东西还是写在MFC中比较好5.内存的溢出,最初使用的数组是存储shape类的实例,而原来new的未删除,效率很低,后来该做存储指针来避免空间的浪费。
启示:设计一个软件时最初的功能流程图的设计,绘制很重要,要在功能数据流程图设计好的情况下,再去设计类图,类和类之间的关系。
—。