ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:792.61KB ,
资源ID:20694155      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20694155.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC++开发基于对话框应用实例学生信息管理Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VC++开发基于对话框应用实例学生信息管理Word格式.docx

1、汉族;满族;回族;壮族;蒙古族;藏族;维吾尔族;11IDC_CHECK1读书12IDC_CHECK2唱歌13IDC_CHECK3足球14IDC_CHECK4游泳15IDC_CHECK5旅游16IDC_CHECK6其他17IDC_BTN_NEWDEPARTMENT新建系部18IDC_BTN_NEWCLASS新建班级19IDC_BTN_SAVE保存20IDC_BTN_LOAD读入21IDCANCEL退出22IDC_BTN_NEWSTUDENT新建23IDC_BTN_CONFIRM确定姓名:学号:性别:出生日期:政治面貌:民族:兴趣爱好:2、打开“MFC类向导”,按照下图设置控件在CStudengI

2、nfoDlg类中的成员变量;三、设计系部类、班级类和学生类1、选择菜单“项目”-“添加类”,添加三个“MFC类”:CDepartment、CClass、CStudent,基类为Object; 2、学生类(CStudent)的代码:/Student.h#pragma once/ CStudent 命令目标class CStudent : public CObject DECLARE_SERIAL(CStudent)public: CStudent(); virtual CStudent(); void Serialize(CArchive& ar); CString m_strName; CSt

3、ring m_strID; int m_nSex; COleDateTime m_dtBirthdate; CString m_strNation; CString m_strPolitics; WORD m_wHobbies;/ Student.cpp : 实现文件#include stdafx.hStudentInfo.hStudent.h/ CStudentIMPLEMENT_SERIAL(CStudent,CObject,0)CStudent:CStudent() m_strName=_T(); m_strID=_T( m_nSex=0; m_dtBirthdate=COleDateT

4、ime:GetCurrentTime(); m_strNation=_T(汉族 m_strPolitics=_T(群众 m_wHobbies=0x0000;CStudent()/ CStudent 成员函数yvoid CStudent:Serialize(CArchive& ar) if(ar.IsLoading() arm_strNamem_strIDm_nSexm_strNationm_strPoliticsm_dtBirthdatem_wHobbies; else arm_strNamem_strIDm_nSexm_strNationm_strPoliticsm_dtBirthdate3

5、、班级类(CClass)的实现代码:/Class.h/ CClass 命令目标#include student.hclass CClass : DECLARE_SERIAL(CClass) CClass(); virtual CClass(); CTypedPtrArray m_Students;/ Class.cpp :/Class.h/ CClassIMPLEMENT_SERIAL(CClass,CObject,0)CClass:CClass()CClass() int nCount; nCount=(int)this-m_Students.GetSize(); if(nCount0) f

6、or(int i=nCount-1;i=0;i-) delete m_Students.GetAt(i); m_Students.RemoveAll();/ CClass成员函数void CClass:m_strName; this-m_Students.Serialize(ar);4、系部类(CDepartment)的实现代码:/ Department.h/ CDepartment 命令目标class.hclass CDepartment : public CObject DECLARE_SERIAL(CDepartment) CDepartment(); virtual CDepartme

7、nt();CObArray,CClass* m_Classes;/ Department.cpp :Department.h/ CDepartmentIMPLEMENT_SERIAL(CDepartment,CObject,0)CDepartment:CDepartment()CDepartment()m_Classes.GetSize(); delete m_Classes.GetAt(i); m_Classes.RemoveAll();/ CDepartment 成员函数void CDepartment:m_Classes.Serialize(ar);四、应用程序类的设计1、在应用程序类(

8、CStudentInfoApp)的定义文件(studentinfo.h)中添加头文件的引用: #include #include 并添加成员变量和成员函数: public: CTypedPtrArray m_Departments; void RemoveMemory();效果如图所示:在studentinfo.cpp文件中,添加RemoveMemory()函数的实现代码:void CStudentInfoApp:RemoveMemory()m_Departments.GetSize(); delete m_Departments.GetAt(i); m_Departments.RemoveA

9、ll();2、打开“MFC”类向导,为应用程序类(CStudentInfoApp)添加虚函数ExitInstance(),操作界面及步骤如图所示:编辑ExitInstance( )虚函数,添加RemoveMemory();函数的调用,代码如下:int CStudentInfoApp:ExitInstance() / TODO: 在此添加专用代码和或调用基类 RemoveMemory(); return CWinApp:ExitInstance();五、树型控件图标资源设计1、在资源视图右键快捷菜单中选择“添加资源”菜单命令,如图所示:在弹出的的对话框中选择Bitmap资料类型,单击“新建”按钮

10、建立一个资源ID为IDB_BITMAP1的位图资源,如图所示:2、编辑位图资源的属性,在属性窗口中按下图设置相关属性:3、编辑位图资源,如图所示建立4个图标,每个图标占用16*16像素,分别作为树型控件中的“当前选中项”、“系部”、“班级”和“学生”的图标;六、建立输入对话框1、添加一个对话框资源,如图所示:2、编辑对话框的属性,设置ID为IDD_DLG_INPUT;3、按照如图所示设计对话框界面,如图所示,各控件的属性按照下表设置IDC_STATIC_TEXTIDC_EDIT1IDOK取消4、为对话框资料建立相应的对话框类(CDlgInput),如图所示:5、打开MFC类向导,按照下图所示设

11、置控件在CDlgInput类中的成员变量;6、为CDlgInput类添加一个字符串成员m_strTitle,用于显示对话框标题: CString m_strTitle;7、为CDlgInput类添加一个构造函数 CDlgInput(CString strTitle,CString m_strText);其实现代码为: CDlgInput:CDlgInput(CString strTitle,CString strText) : CDialogEx(CDlgInput:IDD, NULL) m_strInput = _T( m_strTitle=strTitle; m_strText=strTe

12、xt;8、打开MFC类向导,为CDlgInput类添加一个虚函数OnInitDialog,如图所示:代码为:BOOL CDlgInput:OnInitDialog() CDialogEx:OnInitDialog(); 在此添加额外的初始化SetWindowText(m_strTitle);UpdateData(FALSE); return TRUE; / return TRUE unless you set the focus to a control七、对话框类CStudentInfoDlg的初始化1、列表控件(IDC_LIST1)初始化,建立CStudentInfoDlg类的成员函数Se

13、tList(),在studentinfodlg.h中添加成员函数的定义: void SetList();在studentinfodlg.cpp中添加成员函数的实现,代码如下:void CStudentInfoDlg:SetList()m_listStudent.InsertColumn(0,L学号m_listStudent.SetColumnWidth(0,80);m_listStudent.InsertColumn(1,L姓名m_listStudent.SetColumnWidth(1,50);m_listStudent.SetExtendedStyle(m_listStudent.GetE

14、xtendedStyle()|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);2、树型控件(IDC_TREE1)初始化。在CStudentInfoDlg中添加CImageList类型的数据成员m_ImageList,代码为: CImageList m_ImageList;建立CStudentInfoDlg类的成员函数SetTree(),在studentinfodlg.h中添加成员函数的定义: void SetTree();SetTree() CBitmap bm; bm.LoadBitmap(IDB_BITMAP1); m_ImageList.Create(16,

15、16,ILC_COLOR8|ILC_MASK,17,0); m_ImageList.Add(&bm,RGB(255,255,255); m_treeInfo.SetImageList(&m_ImageList,TVSIL_NORMAL); CFont *font = CFont:FromHandle(HFONT):GetStockObject(DEFAULT_GUI_FONT);3、树型控件(IDC_TREE1)中层次型数据的显示。建立CStudentInfoDlg类的成员函数CreateTree (),在studentinfodlg.h中添加两个成员函数的定义: void CreateTre

16、e(); HTREEITEM CreateTreeItem(HTREEITEM hParent,int nType,CString strText,LPARAM lParam);在studentinfodlg.cpp中添加两个成员函数的实现,代码如下:CreateTree() m_treeInfo.DeleteAllItems(); HTREEITEM hShool=CreateTreeItem(0,1,_T(华北电力大学),0); int nDepartments,nClasses; nDepartments=(int)theApp.m_Departments.GetSize(); CDep

17、artment *pD; CClass *pC; for(int i=0;im_strName,(LPARAM)pD); nClasses=(int)pD- for(int j=0;jm_Classes.GetAt(j); CreateTreeItem(hDepartment,3,pC-m_strName,(LPARAM)pC); m_treeInfo.Invalidate();HTREEITEM CStudentInfoDlg:CreateTreeItem(HTREEITEM hParent,int nType,CString strText,LPARAM lParam) TV_INSERT

18、STRUCT ltvInsertItem; ltvInsertItem.hParent=hParent; ltvInsertItem.hInsertAfter=TVI_LAST; ltvInsertItem.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM; ltvInsertItem.item.lParam=lParam; ltvInsertItem.item.iImage=nType; ltvInsertItem.item.iSelectedImage=0; ltvInsertItem.item.pszText=str

19、Text.GetBuffer(0); /CString to LPWCTR strText.ReleaseBuffer(); HTREEITEM hItem=m_treeInfo.InsertItem(<vInsertItem); return hItem;4、在studentinfodlg.h中添加头文件的引用:并定义指针类型成员变量m_pCurrStud,代码如下: CStudent *m_pCurrStud;5、在OnInitDialog( )函数中添加如下代码: SetList(); SetTree(); CreateTree(); m_pCurrStud=NULL;效果如图:八、

20、学生信息的显示功能。1、为CStudentInfoDlg添加学生信息界面清理的成员函数ClearStudentInfo( ),在studentinfodlg.h中添加成员函数的定义: void ClearStudentInfo();ClearStudentInfo() m_bHobby01=m_bHobby02=m_bHobby03=m_bHobby04=m_bHobby05=m_bHobby06=FALSE;2、添加树型控件(IDC_TREE1)的选择改变消息的响应函数。打开MFC类向导,如图所示,按照步骤建立TVN_SELCHANGED消息的响应函数OnSelchangedTree1:该函

21、数的代码如下:OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; Add your control notification handler code here TVITEM tvItem; if(GetCurrentTreeItem(&tvItem) switch(tvItem.iImage) case 1: /学校 this-GetDlgItem(IDC_BTN_NEWDEPARTMENT)-EnableWindow(TRUE);GetDlgItem(IDC_BTN_NEWCLASS)-EnableWindow(FALSE);GetDlgItem(IDC_BTN_NEWSTUDENT)-GetDlgItem(IDC_BTN_CONFIRM)- m_listStudent.DeleteAllItems(); ClearStudentInfo(); break; case 2: /系部?GetDlgItem(IDC_BTN_

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1