您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C++多文档程序设计
厚德远志笃学创新课程设计报告课程名称:面向对象程序设计设计题目:学生管理系统学院:专业:姓名:学号:指导老师:一、课程设计题目:学生管理系统(多文档应用程序设计)二、实验目的1、第一个视图类的基类是CEditView。2、在第二个文档中,实现动画画图,按下鼠标并拖动时画出一个图。3、在第三个文档中,单击菜单中的某一项可以打开对话框。对话框中实现计算功能。4、在第三个文档中,单击菜单中的某一项可以打开对话框。9种控件分别存放学生的姓名、性别、年龄、专业、班级、学号、住址、所得证件、兴趣爱好等信息,另外设置一个显示按钮,按下显示按钮时,每种控件的信息读取后在编辑框中显示出来。5、在第三个文档中实现串行化,可以输入、保存学生信息。6、其他自己新增加的功能,适当加分三、实验过程及步骤1、创建的第二种文档和视图类(1)在菜单栏中单击“查看”→“建立类向导”,创建第二种文档和视图类。在MFC类向导窗口中框中输入新的文档类名称CMyMdiDoc2,在Baseclass框中输入选择Cdocument,单击OK按钮,则应用程序中增加了CDocument的派生类CMyMdiDoc2。用同种方法在应用程序中增加CScrollView的派生类CMyMdiView2。在Baseclass框中输入选择CScrollview,单击OK按钮,则应用程序中增加了CScrollview的派生类CMyMdiView2。创建文档、视图、框架窗口共同的资源ID在Resource.h文件中,手工加入下列代码:#defineIDR_MYMDITYPE2130这样就定义了第二个文档类的文档、视图和框架窗口共同的资源ID。(2)建立的消息响应函数是OnLButtonDown;:OnLButtonUp;OnMouseMove;(3)在这个文档中新加入的函数是voidCircle(intx,inty,intr);(4)在这个文档中加入的变量是CPen*pen;//定义画笔类对象CBrush*brush1;boollbutton;//表示鼠标左键是否按下CPointstartpoint;CPointendpoint;intcenter_x;intcenter_y;intradii;2、创建的第三种文档和视图类(1)在菜单栏中单击“查看”→“建立类向导”,创建第三种文档和视图类。在MFC类向导窗口中框中输入新的文档类名称CMyMdiDoc3,在Baseclass框中输入选择Cdocument,单击OK按钮,则应用程序中增加了CDocument的派生类CMyMdiDoc3。用同种方法在应用程序中增加CScrollView的派生类CMyMdiView3。在Baseclass框中输入选择CScrollview,单击OK按钮,则应用程序中增加了CScrollview的派生类CMyMdiView3。创建文档、视图、框架窗口共同的资源ID在Resource.h文件中,手工加入下列代码:#defineIDR_MYMDITYPE2131这样就定义了第三个文档类的文档、视图和框架窗口共同的资源ID。(2)建立的消息响应函数是:OnEditShow;OnEditShow2;(3)在这个文档中加入的变量是CStringm_age;CStringm_name;CStringm_sex;CStringm_str;CStringm_st2;CStringm_save;3、文档类对话框中计算器编辑框中(1)建立的消息响应函数是:OnButton1,OnButton2,OnButton3,OnButton4,EDIT1,EDIT2,EDIT3(2)在OnInitDialog中加入的变量有intm_Edit1intm_Edit1CStringm_Edit14、文档类对话框中显示学生信息编辑框中(1)建立的消息响应函数是:Button1,CHECK1,COMBO1,EDIT1,EDIT2,EDIT3,EDIT4,EDIT5,LIST1,LIST2,RADIO1,RADIO2,SPIN1(2)加入的变量有BOOLm_bcheck1,CComboBoxm_Combox1,CStringm_NameCStringm_AgeCStringm_MajorCStringm_NumberCStringm_Edit5CListBoxm_List1CListBoxm_List2intm_Radio1intm_Radio1CSpinButtonCtrlm_Spin1四、测试及运行结果选择MyMdi,显示编辑框。选择MyMdi2,进行拖拽显示所画图形。选择MyMdi3,点击编辑,选择显示学生信息。输入信息显示点击编辑,选择计算器,进行加减乘除运算四、程序调试心得体会(困难及经验)及参考文献参考文献《面向对象程序设计》调试心得体会一开始想着输入滚动条并在按下button时,随之前的内容一起输入在编辑框内,但是总是出现滑动条正常显示,可是再按下滑动条的时候年龄却不能出现了,后来发觉是自己程序输入输出刷新冲突了。遇到最麻烦的问题是修改代码,要细心,有耐心五.程序清单//ChildFrm.cpp:implementationoftheCChildFrameclass//#includestdafx.h#includeMyMdi.h#includeChildFrm.h#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CChildFrameIMPLEMENT_DYNCREATE(CChildFrame,CMDIChildWnd)BEGIN_MESSAGE_MAP(CChildFrame,CMDIChildWnd)//{{AFX_MSG_MAP(CChildFrame)//NOTE-theClassWizardwilladdandremovemappingmacroshere.//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CChildFrameconstruction/destructionCChildFrame::CChildFrame(){//TODO:addmemberinitializationcodehere}CChildFrame::~CChildFrame(){}BOOLCChildFrame::PreCreateWindow(CREATESTRUCT&cs){//TODO:ModifytheWindowclassorstylesherebymodifying//theCREATESTRUCTcsif(!CMDIChildWnd::PreCreateWindow(cs))returnFALSE;returnTRUE;}///////////////////////////////////////////////////////////////////////////////CChildFramediagnostics#ifdef_DEBUGvoidCChildFrame::AssertValid()const{CMDIChildWnd::AssertValid();}voidCChildFrame::Dump(CDumpContext&dc)const{CMDIChildWnd::Dump(dc);}#endif//_DEBUG///////////////////////////////////////////////////////////////////////////////CChildFramemessagehandlers//DlgInput2.cpp:implementationfile//#includestdafx.h#includeMyMdi.h#includeDlgInput2.h#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CDlgInput2dialogCDlgInput2::CDlgInput2(CWnd*pParent/*=NULL*/):CDialog(CDlgInput2::IDD,pParent){//{{AFX_DATA_INIT(CDlgInput2)m_Name=_T();m_Age=_T();m_bcheck=FALSE;m_Major=_T();m_Number=_T();m_Edit5=_T();m_Radio3=-1;m_Radio1=-1;//}}AFX_DATA_INIT}voidCDlgInput2::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDlgInput2)DDX_Control(pDX,IDC_LIST2,m_List2);DDX_Control(pDX,IDC_SPIN1,m_Spin1);DDX_Control(pDX,IDC_COMBO1,m_Combox1);DDX_Control(pDX,IDC_LIST1,m_List1);DDX_Text(pDX,IDC_EDIT1,m_Name);DDX_Text(pDX,IDC_EDIT2,m_Age);DDX_Check(pDX,IDC_CHECK1,m_bcheck);DDX_Text(pDX,IDC_EDIT3,m_Major);DDX_Text(pDX,IDC_EDIT4,m_Number);DDX_Text(pDX,IDC_EDIT5,m_Edit5);DDX_Radio(pDX,IDC_RADIO3,m_Radio3);DDX_Radio(pDX,IDC_RADIO1,m_Radio1);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CDlgInput2,CDialog)//{{AFX_MSG_MAP(CDlgInput2)ON_COMMAND(ID_RECT,OnRect)ON_BN_CLICKED(IDC_BUTTON1,OnButton1)ON_LBN_DBLCLK(IDC_LIST1,OnDblclkList1)ON_LBN_DBLCLK(IDC_LIST2,OnDblclkList2)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CDlgInput2messagehandlersvoidCDlgInput2::OnRect(){//TODO:Addyourcommandhandlercodehere}BOOLCDlgInput2::OnInitDialog(){CDialog::OnInitDialog();//TODO:Addextrainitializationherem_bcheck=TRUE;UpdateData(FALSE);CSpinButtonCtrl*pSpin=(CSpinButtonCtrl*)GetDlgItem(IDC_SPIN1);pS
本文标题:C++多文档程序设计
链接地址:https://www.777doc.com/doc-6469947 .html