可视化编程作业sdi应用程序设计.docxVIP

  • 12
  • 0
  • 约1.3万字
  • 约 26页
  • 2020-11-21 发布于天津
  • 举报
可视化程序设计语言 实验五SDI应用程序设计 学 号姓 名: 何博 指导教师: 李家军 2015 年5月 作业题目:实验五SDI应用程序设计 (1)任务描述: 编写一个SDI风格的MFE用程序,要求主窗口菜单项中有 一个菜单项“输入图形参数”,点击后会弹出一个对话框,其中有标签“输入圆 的半径”,后面是一个编辑框控件,下一行是标签“圆心的横坐标:”,后面是一 个编辑框,下一行是标签“圆心的纵坐标:”,后面是一个编辑框。下一行是两个 按纽,“确认输入”,“放弃输入”,电击“确认按纽”后对话框关闭,在编辑框中 输入的数据应该保存到文挡对象中有关的变量中,点击“放弃按纽”后对话框关 闭,在编辑框中输入的数据不保存到文档对象中, 如果数据发生变化,在视中指 定位置上为中心处,会显示出一个指定半径的圆,并在圆的正下方显示: “面积 是:xxxx”的字符申。你可以在主菜单中增加选择画笔、画刷样式的菜单项,并 实现相应的功能。但基本功能应保证完成。 取消 实验步骤: 1、 创建工程文件,在资源视图中,添加对话框资源。为对话框添加类, 类名Dlglnput ,基类CDialog。向对话框中加入3个编辑窗控件,并 分别添加变量X,Y,R。 2、 为CMY_SD^添加成员变量 m_X m_Y m_R 3、 文档变量初始化 CMY_SDIDoc::CMY_SDIDoc() :m_X(200) ,m_Y(200) ,m_R(50) ( // TODO:在此添加一次性构造代码 } BOOL CSDIbookDoc::OnNewDocument() ( if (!CDocument::OnNewDocument()) // TODO:在此添加重新初始化代码 // (SDI 文档将重用该文档) m_X=200; m_Y=200; m_R=50; return TRUE; } 4、 通过对话框来改变 CMY_SDIDo的成员变量m_X m_Y m_R 在资源视图中,编辑菜单栏,加入NEV菜单,寻加R子菜显改变图形 参数,并添加事件处理向导,消息类型选择 COMMANDI列表中选择 CMY_SDIDoc处理函数名 OnChange 在 CMY_SDIDoc,cpg加入头文件 DlgInput.h。 void CSDIbookDoc::OnChange() ( // TODO:在此添加命令处理程序代码 DlgInput dlg; if(dlg.DoModal()==IDOK)// 调用DoModal()函数显示该模式对话框 ( m_R=dlg.R; m_X=dlg.X; m_Y=dlg.Y; UpdateAllViews(NULL); // 刷新视图 } } 5、 视图的输出在MY_SD程序视图类CMY_SDIVie缺的OnDraw成员函数 中,添加如下代码 void CSDIbookView::OnDraw(CDC* pDC) ( CSDIbookDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO:在此处为本机数据添加绘制代码 CRect rectClient; GetClientRect(rectClient); CSize sizeClient=rectClient.Size(); int R=pDoc-m_R; int X=pDoc-m_X; int Y=pDoc-m_Y; HBRUSH hBrush; HPEN hPen; hPen=CreatePen(PS_SOLID,2,RGB(0,255,0)); hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(255,0,0)); //画刷 (CBrush*)pDC-SelectObject(hBrush); (CPen*)pDC-SelectObject(hPen); pDC-Ellipse(X-R,Y-R,X+R,Y+R); } 6、 文档申行化 通过重载CMY_SDID。柔的Serialize 函数来完成申行化。代码如下 void CSDIbookDoc::Serialize(CArchive ar) { if (ar.IsStoring()) { // TODO:在此添加存储代码 arm_R; arm_X; arm_Y; } else { // TODO:在此添加加载代码 arm_R; arm_X; arm_Y; } } } SKO9挨 g ?权昭整 更改后结果 实验程序 // Dlglnput.cpp : 实现文件 // #include stdafx.h #include SDI book.h #include DlgInput.h #include

文档评论(0)

1亿VIP精品文档

相关文档