您的当前位置:首页正文

虚拟电子系统设计大作业

2020-11-05 来源:钮旅网
虚拟电子系统设计大作业

题目:基于C++VS2010的文档与视图应用 学院(系): 专业: 电子信息工程 班级:

学号: 姓名:

基于C++VS2010的文档与视图应用

1、程序的功能任务

编写一个单文档的视图应用程序,就是根据文档中的颜色来绘制椭圆,运行界面如图4-1所示。

图4-1 最终运行主界面

2、编写步骤

步骤1:打开VS2010,建立一个基于单文档的S4-1应用程序,界面如图4-2所示。

图4-2 S4-1新建项目对话框

步骤2:、资源视图→插入Dialog→Edit Control;Static Text ( Caption:

红,绿,蓝)→项目→类向导(类名:CColorDlg;基类:CDialog)。界面如图4-3所示。

图4-3 S4-1类向导对话框

、类视图→CS4-1 View→添加变量(变量类型:CColorDlg;变量名:dlg),界面如图4-4所示。

图4-4 S4-1添加变量对话框

步骤3:资源视图→Menu→IDR_MAINFRAME→双击→我的菜单:输入“颜色”

→添加事件处理程序(类列表:CS4-1 View;消息类型:COMMAND;名称:On32771)→找到“void CS4-1 View::On32771”,“// TODO: 在此添加命令处理程序代码”下编辑代码:

void CS4_1View::On32771() {

// TODO: 在此添加命令处理程序代码 if(dlg.DoModal()==IDOK)

步骤4:、Edit Control→添加变量(变量类型:UINT;变量名:m_red/m_green/m_blue;类别:Value;最大值:255;最小值:0),界面如图4-5所示。

图4-5 S4-1成员变量对话框

、类视图→CS4_1 Doc→添加变量(变量类型:COLORREF;变量名:m_clr)。

步骤5:类视图→CS4-1 View→On32771()→找到“void CS4-1 View::On32771”,“ // TODO:在此添加命令处理程序代码”下编辑代码: CS4_1Doc *pDoc=GetDocument(); //获取文档指针 if(dlg.DoModal()==IDOK) { pDoc->m_clr=RGB( dlg.m_red, dlg.m_green,

dlg.m_blue); //获取用户输入的椭圆颜色 pDoc->SetModifiedFlag(); }

Invalidate(); //标记整个视图窗口都需要更新 UpdateWindow(); //更新视图窗口

步骤6:类视图→CS4-1 View→OnDraw()→找到“void CS4-1 View::OnDraw(CDC *pDC)”,“// TODO:在此处为本机数据添加绘制代码”下编辑代码:

void CS4_1View::OnDraw(CDC *pDC) {

CS4_1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return;

// TODO: 在此处为本机数据添加绘制代码 CRect rc;

GetClientRect(&rc); //获取视图窗口的尺寸 CBrush br(pDoc->m_clr),*ob; //生成画刷对象

ob=pDC->SelectObject(&br); //选择画刷 pDC->Ellipse(&rc); //绘制椭圆

pDC->SelectObject(ob); //恢复原来的画刷 br.DeleteObject(); //删除画刷 }

步骤7:CS4_1 Doc→Serialize(CArchive& ar)→找到“void CS4-1 View::Serialize(CArchive& ar)”,“// TODO:在此添加存储代码”下编辑代码: void CS4_1Doc::Serialize(CArchive& ar) {

if (ar.IsStoring()) { // TODO: 在此添加存储代码 ar<>m_clr; //读取椭圆颜色 } }

步骤8:CS4-1 View→项目→类向导→虚函数:OnInitialUpdate→添加函数→编辑代码→找到“void CS4-1 View::OnInitialUpdate()”,“// TODO:在此添加专用代码和/或调用基类”下编辑代码: void CS4_1View::OnInitialUpdate() {

CView::OnInitialUpdate();

// TODO: 在此添加专用代码和/或调用基类 dlg.m_red=0; dlg.m_green=0; dlg.m_blue=0; }

步骤9:CS4_1 Doc→CS4_1 Doc()→找到“ CS4_1Doc::CS4_1Doc()”,“// TODO:在此添加一次性构造代码”下编辑代码: CS4_1Doc::CS4_1Doc() {

// TODO: 在此添加一次性构造代码

m_clr=RGB(0,255,0); //让视图中的椭圆呈绿色 }

3、保存并编译运行

最后结果如图4-6所示:

图4-6 S4-1运行主界面

改变数值,颜色的变化,如图4-7、4-8所示:

图4-7 S4-1运行界面

图4-8 S4-1运行界面

因篇幅问题不能全部显示,请点此查看更多更全内容