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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于MFC的简易通讯录管理系统设计.docx

1、基于MFC的简易通讯录管理系统设计 基于MFC的简易通讯录管理系统设计 一、引言21世纪是IT普及的世界,到处都存在IT的身影,实时通讯已是占据它不可或缺的地位。一个好的、强大的通讯录系统的好坏,不但可以直接影响到企业、个人的人际关系,而且会间接的影响到企业、个人经济利益和社会地位。随着社会的发展,科技的进步,计算机的应用在社会各领域中都得到了普及,越来越多的人都感受到利用计算机进行各类管理的科学和便捷,利用计算机进行通讯管理已经是一种趋势。MFC是Microsoft Foundation Class Library(微软基础类库)的缩写形式。它是C+的类集,提供面向对象框架,利用这个框架,程

2、序员可以轻松的创建Windows应用程序。基于MFC的通讯管理系统具有美观的窗口界面、充足可靠的信息数据、简单方便的维护手段和灵活多变的查询方式以及快捷而准确的查询结果。 二、需求分析 通讯录使我们每个人必不可少的一个工具,利用通讯录我们可以对同学、朋友、同事等信息进行有效的管理,包括查询、添加、删除和修改等。 此通讯录系统利用本着人性化的设计,此系统包括了联系人的姓名、电话、地址、E-mail、和备注等信息,利用此系统可以对联系人进行查询、增加、修改、删除等操作,基本上可以满足我们对通讯录的需要。 基于MFC简易通讯录管理系统具有以下特点:1,操作简单,所有人不需学习就可以使用的系统;2,输

3、入简单,输入框都有相关提示,我们可以按照提示输入相关信息;3,界面显示信息完整,界面上每一个编辑框显示一条联系人信息,很清楚地显示了联系人的全部信息。数据库的操作与运行相比文件较复杂,一般对安全性较高的大型信息管理系统采用数据库方式,这里我们采用文件存取方式即可。三、整体设计1、系统框图 2、模块功能(1) 添加记录:可以增加通讯录相关信息;(2) 修改记录:可以修改通讯录相关信息;(3) 查询记录:可以查找通讯录中每个人的信息;(4) 删除记录:可以删除通讯录单条个人信息;(5) 清除记录:可以清除通讯录整个组信息;四、代码编写 1、定义一个Cperson类 程序中处理的学生信息是一个数据序

4、列,即线性表结构。以Coject为基类,公有派生Cperson类。中的代码:class CPerson:public CObject public: DECLARE_SERIAL(CPerson) /对类进行串行化宏定义 CPerson(); virtual CPerson(); CString m_Name; /姓名 CString m_Phone; /电话 CString m_Company; /公司 CString m_Email; /Emailpublic: virtual void Serialize(CArchive& ar);中编辑的初始化的代码CPerson:CPerson()

5、 /初始化人员信息(m_Name,m_Phone,m_Company,m_Email) m_Name=; /姓名 m_Phone=; /电话 m_Company=; /公司 m_Email=; /Email2、定义文档类数据成员m_StudengtList 在中编写代码:class CAddressBookView : public CFormViewprotected: / create from serialization only CAddressBookView(); DECLARE_DYNCREATE(CAddressBookView)public: CAddressBookDoc*

6、 GetDocument();public: virtual CAddressBookView();protected: POSITION m_Position; /指向链表中当前结点的指针 CObList *m_PersonViewList;/指向文档类成员(双向链表)的指针protected: DECLARE_MESSAGE_MAP();3、初始化文档类成员#include #include #include #include #include void CAddressBookView:OnInitialUpdate() CFormView:OnInitialUpdate(); GetP

7、arentFrame()-RecalcLayout(); ResizeParentToFit(); CAddressBookDoc *pDoc=GetDocument();/获得文档类指针 m_PersonViewList=&(pDoc-m_PersonList);/视图类指针指向文档类对象 m_Position=m_PersonViewList-GetHeadPosition();/获得头结点位置 CPerson*pListDoc=(CPerson *)m_PersonViewList-GetAt(m_Position);/获得头一个数据 m_strName=pListDoc-m_Name;

8、 m_strPhone=pListDoc-m_Phone; m_strCompany=pListDoc-m_Company; m_strEmail=pListDoc-m_Email;/将表头结点数据赋给视图类成员变量 UpdateData(false);/刷新窗口 (CDialog*)this)-GotoDlgCtrl(GetDlgItem(IDC_EDIT_NAME); /将光标停在姓名编辑框4、建立文档类和视图类数据成员之间的关系编写命令按钮代码:(1)添加记录void CAddressBookView:OnButtonAdd() /界面 (CButton*)GetDlgItem(IDC_

9、CHECK_MODIFY)-EnableWindow(false); (CButton*)GetDlgItem(IDC_BUTTON_CLEAR)-EnableWindow(false); (CButton*)GetDlgItem(IDC_BUTTON_PREVIOUS)-EnableWindow(false); (CButton*)GetDlgItem(IDC_BUTTON_NEXT)-EnableWindow(false); (CButton*)GetDlgItem(IDC_BUTTON_ADD)-SetWindowText(_T(继续添加); (CButton*)GetDlgItem(I

10、DC_BUTTON_DELETE)-SetWindowText(_T(添加完毕); (CEdit*)GetDlgItem(IDC_EDIT_NAME)-EnableWindow(true); (CEdit*)GetDlgItem(IDC_EDIT_EMAIL)-EnableWindow(true); (CEdit*)GetDlgItem(IDC_EDIT_PHONE)-EnableWindow(true); (CEdit*)GetDlgItem(IDC_EDIT_COMPANY)-EnableWindow(true); m_strName=; m_strPhone=; m_strCompany

11、=; m_strEmail=;/清空编辑框 UpdateData(false);/刷新界面 CPerson *pListDoc=new CPerson(); m_Position=m_PersonViewList-AddTail(pListDoc); /新建空人员信息添加至链表,并将当前位置移至该处 CAddressBookDoc *pDoc=GetDocument();/获得文档指针 pDoc-SetModifiedFlag();/设置文档被修改标置 (CDialog*)this)-GotoDlgCtrl(GetDlgItem(IDC_EDIT_NAME);/姓名编辑框获得焦点 / TODO

12、: Add your control notification handler code here(2)删除记录void CAddressBookView:OnButtonDelete() CString str; GetDlgItem(IDC_BUTTON_DELETE)-GetWindowText(str); if(str=删除记录(&D) CObject *pOld; /临时对象指针 pOld=m_PersonViewList-GetAt(m_Position);/使其指向当前指针 m_PersonViewList-RemoveAt(m_Position); /将当前结点从列表中删除 d

13、elete pOld;/释放空间 if(m_PersonViewList-IsEmpty() /链表若为空,则调用添加生成一个新结点 CAddressBookDoc *pDoc=GetDocument();/获得文档指针 pDoc-OnNewDocument(); m_Position=m_PersonViewList-GetHeadPosition(); CAddressBookDoc *pDoc=(CAddressBookDoc*)GetDocument(); pDoc-SetModifiedFlag(); /获得文档指针,标志文档已被修改 OnInitialUpdate();/显示列表第

14、一个结点 else AfxMessageBox(添加完毕!); (CButton*)GetDlgItem(IDC_CHECK_MODIFY)-EnableWindow(true); (CButton*)GetDlgItem(IDC_BUTTON_CLEAR)-EnableWindow(true); (CButton*)GetDlgItem(IDC_BUTTON_PREVIOUS)-EnableWindow(true); (CButton*)GetDlgItem(IDC_BUTTON_NEXT)-EnableWindow(true); (CButton*)GetDlgItem(IDC_BUTTON_ADD)-SetWindowText(_T(添加记录(&A); (CButton*)GetDlgItem(IDC_BUTTON_DELETE)-SetWindowText(_T(删除记录(&D); (CEdit*)GetDlgItem(IDC_EDIT_NAME)-EnableWindow(false); (CEdit*)GetDlgItem(IDC_EDIT_EMAIL)-EnableWindow(false); (CEdit*)GetDlgItem(IDC_EDIT_PHONE)-EnableWindow(false);

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

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