- 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
您可能关注的文档
- 变压器安装及系统调试流程.docx
- 变压器星三角接法特点.docx
- 变压器功率计算方法.docx
- 变压器安装记录.docx
- 变压器气体继电器qj-40说明书.docx
- 变压器气体继电器qj-50说明书a4.docx
- 变压器油型气相色谱仪.docx
- 变压器的施工验收规范.docx
- 变压器试验报告范本.docx
- 变形缝施工工艺标准.docx
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 梵音入汉:佛经汉译对汉语演进的多维影响.docx
- 小学低段音乐课堂管理方法的研究课题资料(包含申请表、开题报告、实施方案、结题报告等).pdf VIP
- 2026《隧道贯通误差预计计算案例》4000字.docx
- 2022-2023学年北京市丰台区高二(下)期末数学试卷(附答案详解).docx VIP
- 5m盐酸溶液的配制 -回复.pdf VIP
- 2026年新疆工程学院辅导员招聘备考题库最新.docx VIP
- 2026年新疆财经大学辅导员招聘备考题库必考题.docx VIP
- 2026年新疆农业大学辅导员招聘备考题库附答案.docx VIP
- 现代金属凝固技术课件(9056KB).ppt VIP
- 现代材料凝固技术.ppt VIP
原创力文档

文档评论(0)