中南大学数学院大三年级面向对象实验报告.doc_第1页
中南大学数学院大三年级面向对象实验报告.doc_第2页
中南大学数学院大三年级面向对象实验报告.doc_第3页
中南大学数学院大三年级面向对象实验报告.doc_第4页
中南大学数学院大三年级面向对象实验报告.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计Visual C+.NET实验报告数学科学与计算技术学院 姓名: 学号: 班级: 指导教师: 模式对话框及通用对话框的使用一、 实验目的掌握对话框中数据交换的技术。常用控件的使用,CfileDialog的使用二、 实验内容求两个正整数的最小公倍数和最大公约数,用一个函数求最大公约数,用另一个函数求最小公倍数。要求:两正整数从对话框输入。将最大公约数和最小公倍数在ondraw()的函数中输出。三、实验步骤1.创建工程(单文档)1. 工程的“资源视图”处右击添加资源Dialog新建 2. 左键双击上图3. 设置类名等4. 点击完成5. 添加菜单项,使得点击菜单时出现这个窗口: (1).资源视图menu 双击IDR_MAINFRAME (2). 添加菜单名称为“对话框”:(3).在右边出现的属性中将Popup设置为“false”;(4) .将ID设置为:7. 右击“对话框”添加时间处理器放在View类里编辑添加编辑8. 在view类里添加所需要的头文件: #include TestDlg.h 9.在需要响应的地方添加代码:启动调试,生成如图10. 在对话框上面添加一个按钮(1) .在最右边点击“工具箱”(2) 。出现如图(3) 。将一个按钮拖到对话框右击按钮选择属性在属性栏将ID改为IDC_BTN_ADD caption改为Add(4) 添加几个静态的文本框控件(选择一个控件,再按住Ctrl进行拖动就能“复制”)我们添加三个就够了。然后将3个都选上 可以在窗口的左上角发现对齐的图标然后选择“左对齐”再添加几个编辑框,使用同样的方法设置她们的大小(5) .利用成员变量操控3个编辑框右击文本框添加变量将类别改为value将变量类型改为int设置变量名完成11. 实现“Add”功能右击选择添加事件处理器,在TestDialog里这样加法就实现了12,再添加3个按钮齐全加减乘除功能:同样将其ID分别改为IDC_BTN_ADD IDC_BTN_JIAN IDC_BTN_CHENG IDC_BTN_CHU分别添加事件处理器UpdateData();/数据切换这样加减乘除的功能就都有了但是由于我们定义其变量的时候是int型,所以可能导致除数本来不为0但结果为0 例如 4/6等于0运行结果如下图:实验: GDI绘图之鼠标绘图1、实验思路鼠标绘图,利用OnLButtonDown、OnLButtonUp和OnMouseMove函数,实现鼠标画图功能。鼠标点击后激发OnLButtonDown,用m_bMouseDown记录鼠标状态。按下鼠标后记录鼠标当前位置,鼠标移动后激发OnMouseMove函数进行绘图。当松开鼠标,OnMouseMove记录当前位置,绘制完毕。void 鼠标绘制View:MouseDraw(void)if(!m_PntList.GetCount ()return;CPoint Pnt;Pnt=m_PntList.GetHead ();CDC* pDC=GetDC();pDC-MoveTo(Pnt);POSITION pos=m_PntList.GetHeadPosition();while(1)Pnt=m_PntList.GetNext (pos);pDC-LineTo (Pnt);if(pos=NULL)break;void 鼠标绘制View:OnLButtonUp(UINT nFlags, CPoint point)/ TODO: 在此添加消息处理程序代码和/或调用默认值if(!m_MouseDraw)return;if(GetCapture()!=this)return;CClientDC dc(this);dc.MoveTo (m_PrePnt);dc.LineTo (point);m_PrePnt=point;m_PntList.AddTail(point);ReleaseCapture();CView:OnLButtonUp(nFlags, point);void 鼠标绘制View:OnLButtonDown(UINT nFlags, CPoint point)/ TODO: 在此添加消息处理程序代码和/或调用默认值if(!m_MouseDraw)return;SetCapture();m_PrePnt=point;m_PntList.AddTail(point);CView:OnLButtonDown(nFlags, point);void 鼠标绘制View:OnMouseMove(UINT nFlags, CPoint point)/ TODO: 在此添加消息处理程序代码和/或调用默认值if(!m_MouseDraw)return;if(GetCapture()!=this)return;CClientDC dc(this); CPen pen(PS_SOLID,10,RGB(0,255,0);/画笔:类型,宽度,颜色dc.SelectObject(&pen);/选到设备描述表表中dc.MoveTo (m_PrePnt);dc.LineTo (point);m_PrePnt=point;m_PntList.AddTail(point);CView:OnMouseMove(nFlags, point);运行结果如下:实验三:绘图1. 建立工程(单文档)2. 在VIEW类里添加两个消息处理器LButtonDown, LButtonUp鼠标左键按下和释放的时候。3. 资源视图menu添加2个菜单项:形状&线性4. 将上述所添加的菜单的ID改成自己能够辨认的:IDM_PENCIL,IDM_DOT IDM_LINE IDM_RECTANGLE IDM_OVAL IDM_SETTING5. 分别给上述菜单添加事件处理:类型 command 在view类里6. 为将用户的选择保存下来。我们需要定义一个不带符号的整型 类视图view类添加成员变量(事实证明这个要用int型)初始化变量7. 当用户选择形状的时候改变m_DrawType的值 :void C画板View:OnPencil()/画曲线/ TODO: 在此添加命令处理程序代码m_DrawType=0;/初始值为,所以我们默认为曲线void C画板View:OnDot()/画点/ TODO: 在此添加命令处理程序代码m_DrawType=1;void C画板View:OnLine()/画直线/ TODO: 在此添加命令处理程序代码m_DrawType=2;void C画板View:OnRectangle()/画矩形/ TODO: 在此添加命令处理程序代码m_DrawType=3;void C画板View:OnOval()/画椭圆/ TODO: 在此添加命令处理程序代码m_DrawType=4;8. 画点,画形状等都需要点,所以我们还需要定义2个点成员变量 CPoint类9. 在鼠标按下左

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论