资源描述
江 苏 师 范 大 学 科 文 学 院
本 科 生 课 程 设 计
课 程 名 称: 计算机程序设计(VC++)
题 目: 图书馆管理系统
专 业 班 级: 10电信一班
学 生 姓 名: 张文成
学 生 学 号:
日 期: 0111
指 导 教 师: 姜芳艽
科文学院教务部印制
一、课程设计目、任务和内容规定:
《计算机语言程序设计》是一门以编程实践为主专业课,目在于培养学生运用计算机语言进行软件开发所必须基本思想和基本技能,进一步提高综合应用计算机语言各种编程知识和技巧进行程序设计能力,通过本次课程设计,学生应能达到具备设计功能较为复杂应用程序能力,同步培养学生自主学习和独立创新精神。
任务如下:
1.进行需求分析和概要设计,给出流程图。
2.写出详细设计,熟悉其中采用核心技术。
3.给出详细编码实现并调试。
4.写课程设计报告提交源程序。
内容规定:
设计并完毕软件系统。规定:
1.应具备简洁和谐顾客界面。
2.规定软件系统功能完整。
3.规定程序具备对的性,可读性和运营高效性。
二、进度安排:
第1~3天: 查找资料,进行需求分析和概要设计;
第4~6天: 各模块详细设计;
第7~12天: 软件实现与调试;
第13~14天:写课程设计报告并提交源程序。
三、重要参照文献:
1.孙鑫. VC++进一步详解[M] .北京:电子工业出版社,.
2.郑阿奇. Visual C++实用教程(第3版)[M]北京:.电子工业出版社,
3.管西京. 进一步体验VC++项目开发(开发日记)[M] .北京:清华大学出版社,
4.马安鹏.Visual C++程序设计导学[M] .北京;清华大学出版社,
5.Beck Zaratian.Microsoft Visual Visual C++ 6.0程序员指南.但愿图书创作室译. [M] .北京;北京但愿电脑公司出品,1998
6.Richard C.Leinecker,Tom Archer. Visual C++ 6 宝典.张艳,张谦译. [M] .北京;电子工业出版社,1999
指引教师签字:
年 月 日
目 录
目 录 I
摘 要 I
Abstract II
1 绪论 1
1.1需求背景 1
1.1.1开发目的 1
1.1.2开发意义 1
1.1.3重要工作内容 2
2 设计方案简述 3
2.1 图书馆管理系统功能简介 3
2.2程序开发环境和基本开发软件 3
2.2.1 VC++开发软件 3
2.2.2 数据库开发软件 3
2.2.3环境搭建 4
2.3 程序设计流程图 4
2.4系统功能模块划分 4
3详细设计 6
3.1 数据库建立及更新 6
3.1.1数据库建立 6
3.2系统登录模块设计 8
3.3系统主界面设计 11
3.4图书信息管理模块设计 12
3.5管理员、读者信息管理模块设计 13
3.7借书、罚金查询查询模块设计 15
3.7系统协助模块设 16
4 设计成果及分析 17
4.1黑盒测试 17
4.2测试成果 17
4.2.1登录测试 17
4.2.2管理测试 18
4.2.3借书测试 22
4.2.4还书测试 23
4.2.5借书、罚金查询测试 24
4.2.6系统时间查询测试 25
5 总结 26
5.1 小结 26
参照文献 27
附录 重要程序代码 28
摘 要
随着当代科学技术进步,人类社会正逐走向信息化。图书馆拥有丰富文献信息资源,是社会信息系统重要构成某些,在信息社会中作用愈来愈重要。国内图书馆计算机等信息技术应用起步于20世纪70年代末期,随着改革开放步伐得以迅速发展,特别是90年代后来,国内图书馆信息网络建设获得了较大发展,图书馆信息化建设迈上了一种新台阶。
本文简介了在Visual C++环境下开发图书管理信息系统过程。文章简介了图书馆管理信息系统系统分析某些,涉及可行性分析、图书借阅流程分析等;系统设计某些重要简介了系统功能设计和数据库设计及代码设计;系统实现某些阐明了几种重要模块算法,本系统界面和谐,操作简朴,比较实用。
系统重要完毕了顾客登录功能、新建、删除顾客功能、顾客管理功能,对数据库内图书信息、借阅信息和读者信息进行查询、添加、删除功能。
核心词: Visual C++;数据库管理;图书;借阅
Abstract
Along with the progress of modern science and technology,human society is driven to informationization.Libraries have abundant literature information resources,social information system is an important part of the role in the information society,more and more important. Chinese library computers started in the application of information technology in the late 1970's,along with the reform and opening-up develop rapidly,especially after 1990s,the library information network construction in China has made great development,library informatization construction to step on to a new step.
This paper introduces in Visual C++ environment development books management information system process. This paper introduces the library management information system of analysis parts,including the feasibility analysis,library process analysis,etc. System design part mainly introduced the system function design and database design and code design;System realize part of several major modules illustrates the algorithm,this system friendly interface,the operation is simple,is more practical.
Library management system mainly to complete the user login,create,delete user function,user management function,the database of library information,library information.
Key words:Visual C++;database;management;books;borrow
1 绪论
1.1需求背景
随着科学技术不断提高,计算机科学日渐成熟,作为计算机应用一某些,使用计算机对图书信息进行管理,具备手工管理所无法比拟长处。图书管理系统开发是一种老生常谈问题,以其作为数据库开发示例不但是由于它开放性,并且还由于它是一种开放系统,比较成熟。
用计算机制作图书信息管理系统还可以通过功能强大Internet网及时向读者发布图书最新动态,因而,开发这样一套管理软件成为很有必要事情。而今,此类有关管理系统已广泛应用在各行各业,成为各行业提高有关管理效率重要手段。图书信息管理系统也在日益广泛地应用于各图书馆管理中,大大提高了图书管理有关管理效率,其在图书管理中所起作用是显而易见。
1.1.1开发目的
本次课题为图书信息管理系统,其重要包括图书基本信息和图书借阅系统,能进行图书信息录入、读者登记、查询等功能。该项目开发软件为学校图书信息管理系统软件,是鉴于当前学校图书数剧增,图书信息呈爆炸性增长前提下,图书馆对图书信息管理自动化与精确化规定日益强烈背景下构思出来,该软件设计完毕后可用于所有中小型图书馆图书信息管理。
1.1.2开发意义
当前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长各种信息,图书管理系统也是有了很大发展,商业化图书信息管理软件也不少,但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
1.1.3重要工作内容
本课题研究内容本次毕业设计通过对管理系统模型研究,提出了一套构造图书信息管理系统模型办法,提出了图书管理系统普通建立办法,并且运用数据库、信息系统分析所学知识,结合其他有关管理常识,通过对某图书馆图书流通过程分析,建立有关数据模型,运用面向对象开发工具对其进行设计与开发。系统重要由两大子系统构成:图书管理和维护子系统以及图书信息服务子系统。系统重要有四个数据库表:图书信息表,顾客信息表,学生信息表和借出信息表本课题研究方案1. 以当代软件工程原理和思想指引整个课题开发过程,要通过系统可行性分析、需求分析、概要设计、详细设计、编码、调试维护和安装实行等环节。2.要有详细设计阐明书; 3.每一模块流程图要很清晰;4.本系统可以正常运营,能较好得完毕预定功能;5.系统要有完整协助文献,供前台操作员能以便操作本系统。
2 设计方案简述
2.1 图书馆管理系统功能简介
本系统重要实现对图书馆信息管理,重要可以分为两大块:图书信息服务系统和图书综合管理系统。图书使用对象是借阅者,例如学生,教师;管理者是图书馆管理员。因而依照这些信息,本系统重要功能就是:实现图书馆图书信息管理和维护,如顾客信息管理,图书馆规则维护,新书入库,整顿图书,修改图书信息和进行查询等;以及服务系统图书信息查询,图书借出和归还等功能图书信息管理系统可觉得顾客提供充分信息和快捷查询手段。例如:检索迅速、查找以便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些长处可以极大地提高图书信息管理效率,也是图书管理科学化、数字化、正规化管理,与世界接轨重要条件。
2.2程序开发环境和基本开发软件
2.2.1 VC++开发软件
对于小型应用软件开发,VC++ 6.0易操作,并且有强大调试和纠错功能,对于经验不多开发者来说,VC++ 6.0 应当是一方面选取工具。这款软件重要基于MFC(Microsoft Foundation Classes)卡发环境,MFC是以C++类形式封装了WindowsAPI,并且包括一种应用程序框架,以减少应用程序开发人员工作量。其中包括类包括大量Windows句柄封装类和诸多Windows内建控件和组件封装类。MFC中有大量美观使用控件,对于程序界面设计十分以便。
2.2.2 数据库开发软件
在这里采用了Microsoft Acess ODBC数据库,来实现对数据存储与更新。Microsoft Acess ODBC数据库具备操作简便,性能良好等特点,便于vc++编程初学者使用
2.2.3环境搭建
一方面,构建数据库,在构建完毕之后,进行配备Microsoft Acess ODBC数据库。配备完毕之后,新建单文档,导入数据源文献即可。
2.3 程序设计流程图
表BOOK
图书管理系统
顾客登录
输入顾客名和密码
与否对的
是
否
图书管理
读者管理
借阅管理
管理员管理
新书入库
书籍查询
书籍信息修改
增长读者
读者信息查询
读者信息修改
图书借阅
图书归还
逾期罚款
管理员信息查询
增长、删除帐号
退出系统
表READER
表BORROW
表FINE
表CLERK
图2-1流程图
2.4系统功能模块划分
整个图书管理系统分为四个模块。分别为图书管理模块、借阅管理模块、读者管理模块和系统管理模块。
图书管理
读者管理
图书管理系统
借阅管理
系统管理
新书入库
读者信息查询
管理员信息查询
罚金设立
图书归还
书籍查询
书籍信息修改
图书归还
逾期罚款
图书借阅
图书归还
读者信息修改
增长读者
退出系统
删除帐号
登录
图2-2 系统模块化分
3详细设计
3.1 数据库建立及更新
3.1.1数据库建立
用ACCESS建立名为“Library”数据库,创立5个表,分别为:BOOK,CLERK,READER,BORROW和FINE。
图3-1ACCESS数据表
图3-2 ODBC数据源管理器配备
图3-3运用ODBC数据源管理器创立数据源
图3-4建立名为“Library”MFC单文档应用程序向导
3.2系统登录模块设计
图3-5添加系统登录对话框
图3-6属性设立
双击对话框打开ClassWizard对话框,为IDD_LOGIN添加CLoginMDlg类,按下表为该类。
图3-7添加成员变量
图3-8创立一种名为CClerkDataSet新类
图3-9创立数据源
图3-10选取相应表格
图3-11添加相应消息响应函数
3.3系统主界面设计
图3-12主界面
其中系统登录可以登陆和退出系统,管理信息可以查看守理员信息、图书信息、读者信息;借阅手续中包括图书借阅、图书归还、缴纳罚款;信息查询中包括读者查询、系统时间查询;协助中可以查看系统协助和版本信息。
3.4图书信息管理模块设计
图3-13书籍信息界面
添加书籍信息对话框,属性设立为IDD_BOOK_MAINTAIN,微软雅黑,10号字体
为IDD_BOOK_MAINTAIN添加成员变量。
创立一种新类,名为CBookDataSet,办法环节同CClerkDataSet,添加消息映射,最后输入按钮代码。
3.5管理员、读者信息管理模块设计
图3-14管理员信息管理
添加管理员信息对话框,属性设立为IDD_CLERK_MAINTAIN,微软雅黑,10号建立新类CClerkMDlg,按图书信息模块设计环节做相似操作,添加消息映射,最后输入按钮代码。
图3-15读者信息管理
添加读者信息对话框,属性设立为IDD_READER_MAINTAIN,微软雅黑,10号,为IDD_LENDOUT添加成员变量。建立新类LendOutDlg,按上述环节做相似操作,添加消息响应,最后输入按钮代码。
图3-16还书管理
添加图书归还对话框,属性设立为IDD_ReturnBook,微软雅黑,10号,为IDD_ReturnBook添加成员变量,建立新类CReturnBookDlg,按上述环节做相似操作,添加消息映射,最后输入代码。
3.7借书、罚金查询查询模块设计
图3-17借书查询
添加借书查询对话框,属性设立为IDD_DLGREADERQRY,微软雅黑,10号,为IDD_DLGREADERQRY添加成员变量,建立新类CReaderQryDlg,按上述环节做相似操作,添加消息映射,最后输入代码。
图3-18罚金查询
添加缴纳罚金对话框,属性设立为IDD_FINE,微软雅黑,10号字体,为IDD_FINE添加成员变量,建立新类CFineHistoryDataSet,按上述环节做相似操作,添加消息映射
最后输入代码。
3.7系统协助模块设
图3-19系统协助
4 设计成果及分析
4.1黑盒测试
采用黑盒测试办法。对功能进行逐个测试,在输入合理及不合理数据后测试系统正常运作状况
测试1:系统登录测试
测试2:图书管理测试
测试3:读者管理测试
测试4:管理员管理测试
测试5:借书测试
测试6:还书测试
测试7:借书、罚金查询测试
4.2测试成果
4.2.1登录测试
图4-1对的登录
图4-2错误登录
4.2.2管理测试
图4-3图书新增
图4-4读者新增
图4-5编辑管理员信息
图4-6编辑书籍信息
图4-7编辑读者信息
图4-8书籍信息查询
4-9读者信息查询
4.2.3借书测试
图4-10借书测试
图4-11借阅成功
图4-12借阅失败
4.2.4还书测试
图4-13图书归还
4.2.5借书、罚金查询测试
图4-14借书查询
图4-15罚金查询
4.2.6系统时间查询测试
图4-16系统时间查询
5 总结
5.1 小结
在这次课程设计中,让我学到了诸多在课堂上和课本上学不到知识,我在这次课程设计中最大收获有如下几方面:
领略到了数据库设计在计算机领域重要性。数据库作为一种永久存储形式在应用中发挥着重要作用。在数据库设计中,我明白了数据库设计不是范式越高越好,咱们要依照咱们应用来决定,一切应当以需求为首要选取。
对编程环境、某些控件使用和界面设计更加熟悉。由于《图书管理系统》中设计到诸多控件使用,只有较好使用这些控件才可以给出一种较好界面呈当前顾客面前。这样更有助于数据库和顾客之间交流。
运用软件工程学开发系统。虽然这个《图书管理系统》是一种小系统,但从这个小项目中也让我明白了数据库作为任何一种系统后台重要性,在开发系统设计和实现中学到和总结诸多经验和教训。
参照文献
参照文献类型及标记:
参照文献类型
专著
论文集
报纸文章
期刊文章
学位论文
报告
原则
专利
文献类型标记
M
C
N
J
D
R
S
P
其她未作阐明文献,建议采用单字母“Z”。
[1] 孙鑫. VC++进一步详解[M] .北京:电子工业出版社,
[2] 郑阿奇. Visual C++实用教程(第3版)[M]北京:.电子工业出版社,
[3] 管西京. 进一步体验VC++项目开发(开发日记)[M] .北京:清华大学出版社,
[4] 马安鹏.Visual C++程序设计导学[M] .北京:清华大学出版社,
[5] Beck Zaratian.Microsoft Visual Visual C++ 6.0程序员指南.但愿图书创作室译. [M] .北京;北京但愿电脑公司出品,1998
[6] Richard C.Leinecker,Tom Archer. Visual C++ 6 宝典.张艳,张谦译. [M] .北京;电子工业出版社,1999
附录 重要程序代码
1、 主界面代码
// CMainFrame construction/destruction
//窗体框架创立函数
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
/*if (!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}*/
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO:Delete these three lines if you don't want the toolbar to
// be dockable
//如下为自己添加代码某些
//先启动登陆界面
//=============顾客登陆对话框显示=============
CLoginDlg dlg1;//声明一种登陆对话框对象
dlg1.DoModal();//让对话框对象以有模形式显示
//================开机启动画面================
//CSplashWnd::ShowSplashScreen(this);//显示启动画面
//SetTimer(1,850,NULL);//修改第二个参数以调节画面停留时间
//Sleep();
//阳伞公司图标
CSplashDlg *dlg = new CSplashDlg(this);
dlg->Create(CSplashDlg::IDD,this); //创立对话框
dlg->ShowWindow(SW_SHOW); //显示对话框
dlg->UpdateWindow();
Sleep(1500); //画面显示停留时间,单位为毫秒
dlg->DestroyWindow(); //销毁对话框
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO:Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
// TODO:在此处通过修改
//CREATESTRUCT cs 来修改窗口类或样式
cs.style &=~FWS_ADDTOTITLE;
cs.lpszName = "江苏师范大学敬文图书馆管理系统";
//设定窗口尺寸
cs.cx = 1024;
cs.cy = 714;
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
//图书管理菜单按钮
void CMainFrame::OnBookDlg()
{
CBookMDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//读者信息管理菜单按钮
void CMainFrame::OnReaderDlg()
{
// TODO:Add your command handler code here
CReaderMDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//管理员信息管理菜单按钮
void CMainFrame::OnClerkDlg()
{
// TODO:Add your command handler code here
CClerkMDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//书籍借出管理菜单按钮
void CMainFrame::OnLenoutDlg()
{
// TODO:Add your command handler code here
CLendOutDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//管理菜单按钮
void CMainFrame::OnFineDlg()
{
// TODO:Add your command handler code here
CFineDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//读者信息查询管理菜单按钮
void CMainFrame::OnReaderqryDlg()
{
// TODO:Add your command handler code here
CReaderQryDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//图书归还管理菜单按钮
void CMainFrame::OnReturnbookDlg()
{
// TODO:Add your command handler code here
CReturnBookDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//系统协助菜单按钮
void CMainFrame::OnSystermhelp()
{
// TODO:Add your command handler code here
CSystemHelp dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//系统时间菜单按钮
void CMainFrame::OnSystermtimeDlg()
{
// TODO:Add your command handler code here
CSystemTime dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//登陆对话框菜单按钮
void CMainFrame::OnLoginDlg()
{
// TODO:Add your command handler code here
CLoginDlg dlg;//定义一种对话框类对象
dlg.DoModal();//显示对话框
}
//程序退出菜单按钮
void CMainFrame::OnExit()
{
// TODO:Add your command handler code here
if(MessageBox("拟定要退出吗?","提示",MB_YESNO)==IDYES)//
{
CFrameWnd::OnClose();//关闭应用程序
}
}
2、 管理信息
CBookMDlg::CBookMDlg(CWnd* pParent /*=NULL*/)
:CDialog(CBookMDlg::IDD,pParent)
{
//{{AFX_DATA_INIT(CBookMDlg)
m_strAUTHOR = _T("");
m_strBOOKID = _T("");
m_strBOOKIDQ = _T("");
m_strBOOKNAME = _T("");
m_strBOOKNAMEQ = _T("");
m_strPRESS = _T("");
m_strPRESSDATE = _T("");
m_strFLAG = _T("");
//}}AFX_DATA_INIT
}
void CBookMDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookMDlg)
DDX_Text(pDX,IDC_AUTHOR,m_strAUTHOR);
DDX_Text(pDX,IDC_BOOKID,m_strBOOKID);
DDX_Text(pDX,IDC_BOOKID_Q,m_strBOOKIDQ);
DDX_Text(pDX,IDC_BOOKNAME,m_strBOOKNAME);
DDX_Text(pDX,IDC_BOOKNAME_Q,m_strBOOKNAMEQ);
DDX_Text(pDX,IDC_PRESS,m_strPRESS);
DDX_Text(pDX,IDC_PRESSDATE,m_strPRESSDATE);
DDX_Text(pDX,IDC_FLAG_BORROW,m_strFLAG);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookMDlg,CDialog)
//{{AFX_MSG_MAP(CBookMDlg)
ON_BN_CLICKED(IDC_SAVE,OnSave)
ON_BN_CLICKED(IDC_EXIT,OnExit)
ON_BN_CLICKED(IDC_FIRST,OnFirst)
ON_BN_CLICKED(IDC_PRIOR,OnPrior)
ON_BN_CLICKED(IDC_NEXT,OnNext)
ON_BN_CLICKED(IDC_LAST,OnLast)
ON_BN_CLICKED(IDC_NEW,OnNew)
ON_BN_CLICKED(IDC_ENQUERY,OnEnquery)
ON_BN_CLICKED(IDC_EDIT,OnEdit)
ON_BN_CLICKED(IDC_DELETE,OnDelete)
ON_BN_CLICKED(IDC_CANCEL,OnCancel)
ON_BN_CLICKED(IDC_CANCELRec,OnCANCELRec)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookMDlg message handlers
//===========================界面操作==============================
//保存按钮消息映射函数
void CBookMDlg::OnSave()
{
// TODO:Add your control notification handler code here
UpdateData(TRUE);//控件内容更新到关联变量
//输入为空 提示警告
if (m_strBOOKNAME.IsEmpty() || m_strBOOKID.IsEmpty())
{
AfxMessageBox("请输入相应数据!");
return;
}
if(m_bAdd)//鉴别添加标志位
{
m_rsDataSet.AddNew();//添加
MessageBox("添加完毕!");
}
else
{
//编辑标志位有效
if(m_bEdit)
{
m_rsDataSet.Edit();//编辑
MessageBox("编辑完毕!");
}
}
//控件关联变量更新到数据库
m_rsDataSet.m_BOOKNAME=m_strBOOKNAME; //书名
m_rsDataSet.m_BOOKID=m_strBOOKID; //书籍条码
m_rsDataSet.m_AUTHOR=m_strAUTHOR; //作者
m_rsDataSet.m_PRESS=m_strPRESS; //出版社
m_rsDataSet.m_PRESSDATE=m_strPRESSDATE; //出版日期
m_rsDataSet.m_FLAG=m_strFLAG; //借阅信息
//更新到数据库
m_rsDataSet.Update();
m_rsDataSet.Requery();
//标志位失效
m_bAdd = FALSE;
m_bEdit = FALSE;
MessageBox("操作成功!");
DisplayRecord();//显示刷新纪录
//恢复控件只读 不可编辑
//依照控件ID获取控件句柄 指针指向成员函数撤销编辑框只读设立
((CEdit*)GetDlgItem(IDC_BOOKNAME))->SetReadOnly(true); //书籍名称
((CEdit*)GetDlgItem(IDC_BOOKID))->SetReadOnly(true); //书籍条码
((CEdit*)GetDlgItem(IDC_AUTHOR))->SetReadOnly(true); //作者
((CEdit*)GetDlgItem(IDC_PRESS))->SetReadOnly(true); //出版社
((CEdit*)GetDlgItem(IDC_PRESSDATE))->SetReadOnly(true); //出版日期
((CEdit*)GetDlgItem(IDC_FLAG_BORROW))->SetReadOnly(true); //能否借阅
}
//取消按钮消息
展开阅读全文