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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C++语言课程设计报告MFC设计图书管理系统.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C++语言课程设计报告MFC设计图书管理系统.doc

1、 . XX理工大学 聋人工学院 ?C++语言课程设计? 专业:网络工程 年级:2015级一班 XX:志冲 学号: 成绩: 完成日期:20161220 - . 可修编. 目录 第一章 简介1 1.1 设计题目1 1.2 指导教师1 第二章?图书管理系统?设计意义2

2、2.1 设计容概述2 2.2需求分析2 2.3 设计意义2 第三章总体设计3 3.1 系统运行环境3 3.2 系统构造图3 3.3 系统各模块的功能4 3.4 对象数据构造7 第四章详细设计8 4.1程序源代码8 4.1.1登陆模块8 4.1.2注册模块11 4.1.3主菜单模块13 4.1.4编辑模块17 4.1.5查询模块27 4.1.6浏览模块34 4.1.7设置模块39 4.1.8组合框模块41 4.1.9图书信息模块43 4.1.10 资源文件45 4.2系统测试55 4.2.1登陆对话框55 4.2.2编辑对话框58 4.2.3浏览对话

3、框62 4.2.4查询对话框66 4.2.5设置对话框71 4.2.6退出73 4.2.7测试完毕运行73 4.3问题分析73 第五章结论80 参考文献81 第一章 简介 1.1 设计题目 图书管理系统 1.2 指导教师 第二章?图书管理系统?设计意义 2.1 设计容概述 本课程设计图书管理系统,必修要满足使用方便、操作灵活和数据平安等设计需求。本系统在设计时应满足以下几个目标: 1.采用人机对话的操作方式,界面设计美观友好,操作灵活、方便、快捷、准确数据保存平安可靠。 2.实现对图书信息的管理功能。 3.系统运行稳定、平安可靠。 2.2需求分析 信息

4、技术的飞速开展给图书企业的管理带来了全新的变革.采用图书管理系统对图书企业的经营运作进展全程管理.不仅可以使企业摆脱以往人工管理产生的一系列问题,而且可以提高管理效率、降低管理本钱、增加经济效益。通过管理系统对图书企业的开展进展规划,可以收集大量关键可靠的数据。企业决策层分析这些数据,做出合理决策,及时调整,使之能够更好地遵循市场的销售规律,适应市场的变化,从而让企业能够在剧烈的行业竞争中占据一席之地。 2.3 设计意义 1.有助于加深我们对C++程序设计这门课程的理解,我们在课堂上学的都是根底理论知识,对于如何用程序语言来描述所学知识还是有一定难度。通过课程设计,我们可以真正理解其涵。 

5、 2.有利于我们逻辑思维的锻炼,程序设计能直接有效地训练学生的创新思维、培养分析问题、解决问题能力。即使是一个简单的程序,依然需要学生有条不理的构思。  3.有利于培养严谨认真的学习态度,在程序设计过程里,当我们输入程序代码的时候,如果不够认真或细心,那么可能就导致语法错误,从而无法得出运行结果。那么,这个我们反复调试,反复修改的过程,其实也是对我们认真严谨治学的一个锻炼。 第三章 总体设计 3.1 系统运行环境 1.硬件环境 PC机 2.软件环境 操作系统:Windows 10 开发工具:Visual studio 2010 3.2 系统构造图 图书管理系统构造图

6、如图3.1所以。该系统包括:添加、修改、删除、查询、浏览等。 图 3.1 系统的功能模块图 3.3系统各模块的功能 表3.2 主要类介绍 类名 派生自 说明 CtianjinApp CWinApp 为初始化应用程序Window应用程序基类的派生类 Login CDialog 用户登录对话框 Register CDialog 注册对话框 CtianjinDlg CDialog 主程序界面对话框 sta CStatic 由于直接用CStatic创立的静态文本控件的样式是默认,但不是理想的效果,故再次继承CStatic,可以重新改变样式。 button

7、 CButton 由于直接用CButton创立的按钮控件的样式是默认,但不是理想的效果,故再次继承CButton,可以重新改变样式。 Explore CDialog 浏览对话框 box CboBox 由于直接用CboBox创立的组合框控件的样式是默认,但不是理想的效果,故再次继承CboBox,可以重新改变样式。 entering CDialog 编辑对话框 EditPrice CEdit 由于直接用CEdit创立的编辑框的功能还不够,所以再次继承CEdit,可以多加功能-限制输入字符 query CDialog 查询对话框 Setting CDialog

8、 设置对话框 About CDialog 关于对话框 表3.3 主要函数介绍 源文件 函数名称 功能描述 Explore.cpp OnInitDialog OpenFile OnClickedButton1 OnClickedButton2 ExchangeBook 对对话框进展初始化处理 翻开文件函数 响应“升序〞按钮实现排序该图书信息 响应“升序〞按钮实现排序该图书信息 交换各对象的数据 表3.4 主要函数介绍 源文件 函数名称 功能描述 CtianjinDlg.cpp OnInitDialog OnPaint OnQueryDr

9、agIcon OnTimer UpdateFile OnExit OnEnter OnAbout OnQuery OnSetting OnExplore 对对话框进展初始化处理 对对话框绘制局部应用窗口 系统获取鼠标图标 用于实现定时控制功能 用于实现更新文件来计算收了几本书 响应“退出〞按钮实现退出本程序 响应“编辑〞按钮实现启动编辑对话框 响应“关于〞按钮实现启动关于对话框 响应“查询〞按钮实现启动查询对话框 响应“设置〞按钮实现启动设置对话框 响应“浏览〞按钮实现启动浏览对话框 表3.5 主要函数介绍 源文件 函数名称 功能描述 Ent

10、ering.cpp OnInitDialog OnCtlColor OnBnClickedOk Check Input OnClose OnLvnItemchangedList1 OnBnClickedOk2 OnBnClickedOk3 OnLvnColumnclickList1 OnNMClickList1 OnBnClickedButton1 对对话框进展初始化处理 控件窗口函数 用于画出控件菜单处理 添加记录信息 检查输入的容是否为空 输入记录信息 关闭该对话框 某个项已经发生变化 响应“删除〞按钮实现删除该图书信息 响应“修改〞按钮实现修改

11、该图书信息 单击列,用于勾选全部 当鼠标单击列表视图控件时产生 响应“清空〞按钮实现修改该图书信息 表3.6 主要函数介绍 源文件 函数名称 功能描述 query.cpp OnInitDialog OnBnClickedRadio1 OnBnClickedRadio2 OnBnClickedRadio3 OnBnClickedRadio4 OnBnClickedRadio5 OnBnClickedButton1 QueryNum QueryName QueryAuthor QueryPress QueryAny OpenFile Ti

12、p insert OnBnClickedButton2 对对话框进展初始化处理 响应“书号〞按钮实现选择该方式查询 响应“书名〞按钮实现选择该方式查询 响应“作者〞按钮实现选择该方式查询 响应“〞按钮实现选择该方式查询 响应“任何容〞按钮实现选择该方式查询 关闭该对话框 查询书号函数 查询书名函数 查询作者函数 查询函数 查询任何函数 翻开文件 提示用于告诉用户找到了多少本 将已找到的几本书插入在显示上 响应“查询〞按钮实现根据该方式查询 3.4 对象数据构造 每个对象记录着每本书的信息,为了保护数据平安,故把其的这些成员变量

13、声明为private,就是说在类外的话,不能直接调用对象的成员变量名来赋值或者获取其值,这就到达了保护数据,但是在某个时候遇到数据不对可能需要修改,这时就要加成员函数来修改或者获取,而且把成员函数声明为public,由于在类外需要正常调用,故声明为公开。其表如下。 表3.7 主要变量介绍 变量名 类型 功能描述 Name Num Author Press Time Price Char Char Char Char Char Double 书名 书号 作者 时间 价格 表3.8 主要函数介绍 源文件 函数名称 功能描述 book.c

14、pp SetName SetNum SetAuthor SetPress SetTime SetPrice GetName GetNum GetAuthor GetPress GetTime GetPrice 设置当前对象的成员变量name的值 设置当前对象的成员变量num的值 设置当前对象的成员变量Author的值 设置当前对象的成员变量Press的值 设置当前对象的成员变量Time的值 设置当前对象的成员变量Price的值 获取当前对象的成员变量name的值 获取当前对象的成员变量Num的值 获取当前对象的成员变量Author的值 获取当前对象的

15、成员变量Press的值 获取当前对象的成员变量Time的值 获取当前对象的成员变量Price的值 第四章 详细设计 4.1程序源代码 4.1.1登陆模块 Login.h #pragma once #include"tianjinDlg.h" #include "afxwin.h" // Login 对话框 class Login : public CDialog { DECLARE_DYNAMIC(Login) int a; public: Login(CWnd* pParent = NULL); // 标准构造函数 virtual ~

16、Login(); // 对话框数据 enum { IDD = IDD_LOGIN }; protected: virtual void DoDataExchange(CDataExchange* pDX); CtianjinDlg dlg; DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); afx_msg void OnClose(); CString user; CString password; afx_msg void OnBnClickedOk(); CButton r

17、egis; afx_msg void OnBnClickedButton1(); Login.cpp #include "stdafx.h" #include "tianjin.h" #include "Login.h" #include "afxdialogex.h" #include "Register.h" IMPLEMENT_DYNAMIC(Login, CDialog) Login::Login(CWnd* pParent /*=NULL*/) : CDialog(Login::IDD, pParent) , user(_T("")) , pass

18、word(_T("")) { } Login::~Login() { } void Login::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT3, user); DDX_Text(pDX, IDC_EDIT4, password); DDX_Control(pDX, IDC_BUTTON1, regis); } BEGIN_MESSAGE_MAP(Login, CDialog) ON_WM_CLOSE() ON_BN_C

19、LICKED(IDOK, &Login::OnBnClickedOk) ON_BN_CLICKED(IDC_BUTTON1, &Login::OnBnClickedButton1) END_MESSAGE_MAP() BOOL Login::OnInitDialog() { CDialog::OnInitDialog(); a=0;//初始化a的值为0 用于判断该值是否退出本程序 当输入密码错误,就使该a的值增加1 CRect r;//矩形的类,数据成员是 矩形左上角的x的坐标,矩形左上角Y的坐标,矩形右下角x的坐标,矩形右下角Y的坐标 CString user

20、 this->GetClientRect(&r);//是获得窗口的当前的客户区,把各坐标值保存在r对象。 this->MoveWindow(600,300,r.right,r.bottom);//根据上面获得窗口的大小,来调整并且移动。 GetPrivateProfileString("login","user","NULL",user.GetBuffer(20),20,"./setting.ini"); //从setting.ini配置文件中的login节名中获取该user键名的值并保存在user的值,如果找不到该键名,那么保存第三个参 //数的值 即默认的值 表示未注

21、册的账号,反之 找到了该值,表示已经注册了 if(user!="NULL"){//用于判断上面获得的值是否已经注册过 如注册过,那么执行if〔〕后边的语句 regis.EnableWindow(0);//在该函数的参数赋值为0 表示制止指定的控件承受鼠标和键盘的输入 由于该已经注册过的。 regis.SetWindowTextA("已注册");//指定该控件的容设为 〞已注册"用于提示 } return TRUE; } void Login::OnClose() { CDialog::OnClose(); } void Login::OnBnClickedOk

22、) { this->UpdateData(1);//将各控件中的数据保存到相应的变量分别为〞user“〞 password“ if(!user.IsEmpty()&&!password.IsEmpty())//检查该各变量的值是否为空,如该值为空,就执行else后边的语句 { CString user1,password1;//定义两个字符串类变量 用于从配置文件的注册过的用户及密码的值保存在该变量的 GetPrivateProfileString("login","user","NULL",user1.GetBuffer(20),20,"./setting.ini

23、");//从本身程序的当前的setting.ini配置 //文件中的login节名中获取该user键名的值并保存在user1的值,如果找不到该键名,那么保存默认值为〞NULL“ GetPrivateProfileString("login","password","NULL",password1.GetBuffer(20),20,"./setting.ini");//如同上面的方法 if(user==user1&&password==password1)//比照各值是否一致,满足此条件表示该用户名及密码都是正确,可以登陆,即执行if〔〕后边的语句 { this->ShowW

24、indow(SW_HIDE);//把该对话框的显示方式为隐藏 dlg.DoModal();//启动主窗口的对话框 CDialog::OnOK(); } else{ a++;//密码错误次数 if(a>3)//如超过3次的错误密码就执行if〔〕后边的语句 { CDialog::OnCancel(); return; //调用关闭该对话框的函数 } CString d; d.Format("用户名或者密码错误%d次 超过三次错误即将自动退出",a); MessageBox(d,"登陆提示",MB_OK|MB_ICONWARNING);//用于提示

25、密码错误 以防止令人觉得这程序有问题 } } else MessageBox("用户名或者密码的字符串为空","登陆提示",MB_OK|MB_ICONWARNING);//当该值为空,那么执行该语句 用于提示。 } void Login::OnBnClickedButton1() { Register dialog;//定义注册对话框的对象变量 dialog.DoModal();//启动 注册对话框 } }; 4.1.2注册模块 Register.h #pragma once #include "afxwin.h" // Register 对话框

26、 class Register : public CDialog { DECLARE_DYNAMIC(Register) public: Register(CWnd* pParent = NULL); // 标准构造函数 virtual ~Register(); // 对话框数据 enum { IDD = IDD_REGISTER }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() public: afx

27、msg void OnBnClickedOk(); CString user; CString password; CString password1; }; Register.cpp #include "stdafx.h" #include "tianjin.h" #include "Register.h" #include "afxdialogex.h" // Register 对话框 IMPLEMENT_DYNAMIC(Register, CDialog) Register::Register(CWnd* pParent /*=NULL*/) :

28、CDialog(Register::IDD, pParent) , user(_T("")) , password(_T("")) , password1(_T("")) { } Register::~Register() { } void Register::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, user); DDX_Text(pDX, IDC_EDIT6, password); DDX_Text(pDX,

29、 IDC_EDIT3, password1); } BEGIN_MESSAGE_MAP(Register, CDialog) ON_BN_CLICKED(IDOK, &Register::OnBnClickedOk) END_MESSAGE_MAP() void Register::OnBnClickedOk() { this->UpdateData();//默认值是TRUE,即从控件传给变量 if(!user.IsEmpty()&&!password.IsEmpty()&&!password1.IsEmpty())//各变量的字符串是否为空,如都不为空,那么执行if〔〕后

30、边的语句继续注册 { if(password==password1)//新密码与第二次新密码比照下,如相等,那么继续执行注册,反之不继续注册 {if(IDOK==MessageBox("确定要注册该账号吗?","注册提示",MB_OKCANCEL| MB_ICONQUESTION ))//输出提示 是否要确定注册,如点击确认返回值为IDOK { WritePrivateProfileString("login","user",user,"./setting.ini"); ////向该setting.ini配置文件中的login节名中设置该user键名的值为user的值

31、 WritePrivateProfileString("login","password",password,"./setting.ini"); HWND button; //定义窗口句柄 this->GetParent()->GetDlgItem(IDC_BUTTON1,&button);//获取当前窗口的父窗口句柄〔登陆对话框〕,然后通过父窗口句柄获取指定参数ID为IDC_BUTTON1的子元素的句柄并绑定button窗口句柄 ::SetWindowTextA(button,"已注册");//改变指定button窗口句柄的文本容为"已注册"。 ::EnableWindow

32、button,0);//第二个参数的值为0表示制止指定的控件承受鼠标和键盘的输入 MessageBox("已经成功注册该账号:"+user+"!","注册提示",MB_OK| MB_ICONASTERISK );//注册成功输出提示 CDialog::OnCancel(); }} else MessageBox("新密码与第二次新密码不一致 请注意输入正确!","密码提示",MB_OK|MB_ICONEXCLAMATION ); } else MessageBox("用户名或者密码的字符串为空","注册提示",MB_OK|MB_ICONWARNI

33、NG); } 4.1.3主菜单模块 tianjinDlg.h #pragma once #include "button.h" #include "sta.h" #include"entering.h" #include"query.h" #include"Setting.h" #include"Explore.h" // CtianjinDlg 对话框 class CtianjinDlg : public CDialogEx { // 构造 public: CtianjinDlg(CWnd* pParent = NULL); // 标准构造函数 // 对话

34、框数据 enum { IDD = IDD_TIANJIN_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // 实现 protected: HICON m_hIcon; CToolBar toolbar; CStatusBar statusbar; CImageList toolimag; CImageList toolhotimag; button but2; int a; int b; virtual BOOL OnInitDialog();

35、afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP() public: afx_msg void OnTimer(UINT_PTR nIDEvent); button but1; void UpdateFile(); sta stat,stat1; afx_msg void OnExit(); afx_msg void OnEnter(); afx_msg void OnAbout(); protected: public: afx_msg v

36、oid OnQuery(); afx_msg void OnSetting(); afx_msg void OnExplore(); }; tianjinDlg.cpp #include "stdafx.h" #include "tianjin.h" #include "tianjinDlg.h" #include "afxdialogex.h" #include"About.h" #ifdef _DEBUG #define new DEBUG_NEW #endif CtianjinDlg::CtianjinDlg(CWnd* pParent /*=NULL*

37、/) : CDialogEx(CtianjinDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CtianjinDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDOK, but1); DDX_Control(pDX, TIC, stat); } BEGIN_MESSAGE_MAP(CtianjinDlg, CDialogEx) ON_W

38、M_PAINT() ON_WM_QUERYDRAGICON() ON_WM_TIMER() ON_MAND(1006, &CtianjinDlg::OnExit) ON_MAND(1001, &CtianjinDlg::OnEnter) ON_MAND(1003, &CtianjinDlg::OnQuery) ON_MAND(1004, &CtianjinDlg::OnSetting) ON_MAND(1005, &CtianjinDlg::OnAbout) ON_MAND(1002, &CtianjinDlg::OnExplore) END_MESSAGE_MAP() B

39、OOL CtianjinDlg::OnInitDialog() { CDialogEx::OnInitDialog(); CBitmap bit[7]; bit[0].LoadBitmapA(IDB_BITMAP1); bit[1].LoadBitmapA(IDB_BITMAP2); bit[2].LoadBitmapA(IDB_BITMAP3); bit[3].LoadBitmapA(IDB_BITMAP4); bit[4].LoadBitmapA(IDB_BITMAP5); bit[5].LoadBitmapA(IDB_BITMAP6); bit[6].LoadBitm

40、apA(IDB_BITMAP8); toolimag.Create(70,50,ILC_COLOR|ILC_MASK,0,0); for(int i=0;i<6;i++) toolimag.Add(&bit[i],ILC_MASK); toolhotimag.Create(58,60,ILC_COLOR|ILC_MASK,0,0); toolhotimag.Add(&bit[6],ILC_COLOR16); toolbar.Create(this); UINT buttons[6]={1001,1002,1003,1004,1005,1006}; toolbar.SetButt

41、ons(buttons,6); char buttontext[][7]={"编辑","浏览","查询","设置","关于","退出"}; for(int i=0;i<6;i++) toolbar.SetButtonText(i,buttontext[i]); toolbar.GetToolBarCtrl().SetImageList(&toolimag); toolbar.GetToolBarCtrl().SetHotImageList(&toolhotimag); toolbar.SetSizes(CSize(80,80),CSize(70,50)); toolbar.Get

42、ToolBarCtrl().SetStyle(CCS_TOP|TBSTYLE_FLAT); statusbar.Create(this); UINT pens[3]={100,101,102}; statusbar.SetIndicators(pens,3); statusbar.SetPaneText(0," 志冲"); UpdateFile(); statusbar.SetPaneText(2,CTime::GetCurrentTime().Format("%Y:%m:%d:%H:%M:%S")); for(int i=0;i<3;i++) statusbar.SetP

43、aneInfo(i,pens[i],SBPS_POPOUT,); a=10; b=0; SetTimer(0,500,NULL); this->RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); return TRUE; // 除非将焦点设置到控件,否那么返回 TRUE } void CtianjinDlg::OnPaint() { if (IsIconic()) { } else { CRect dialogrect; this->GetClientRect(dia

44、logrect); CDC pic; CBitmap pic1; BITMAP info; pic1.LoadBitmapA(IDB_BITMAP7); pic1.GetBitmap(&info); CPaintDC dc(this); pic.CreatepatibleDC(&dc); pic.SelectObject(&pic1); dc.StretchBlt(0,0,dialogrect.right,dialogrect.bottom,&pic,0,0,info.bmWidth,info.bmHeight,SRCCOPY); C

45、DialogEx::OnPaint(); } } HCURSOR CtianjinDlg::OnQueryDragIcon() { return static_cast(m_hIcon); } void CtianjinDlg::OnTimer(UINT_PTR nIDEvent) {CRect dialogrect; this->GetClientRect(dialogrect); statusbar.SetPaneText(2,CTime::GetCurrentTime().Format("%Y:%m:%d:%H:%M:%S")); stat

46、MoveWindow(a,dialogrect.bottom-402,260,50); if(a>=dialogrect.right-270) b=1; else if(a<=50) b=0; if(b==0) a+=20; else a-=20; CDialogEx::OnTimer(nIDEvent); } void CtianjinDlg::OnExit() { CDialogEx::OnCancel(); } void CtianjinDlg::OnEnter() {entering enter; enter.DoModa

47、l(); UpdateFile(); } void CtianjinDlg::UpdateFile(){ CFile file("data.txt",CFile::modeRead|CFile::modeNoTruncate|CFile::modeCreate); CString stat; stat.Format("已经收录%d本的书",file.GetLength()/95); file.Close(); statusbar.SetPaneText(1, stat); } void CtianjinDlg::OnQuery() {query quer;

48、 quer.DoModal(); } void CtianjinDlg::OnSetting() {Setting set; set.DoModal(); } void CtianjinDlg::OnExplore() { Explore explore; explore.DoModal(); } void CtianjinDlg::OnAbout() { About aboutdlg; aboutdlg.DoModal(); } 4.1.4编辑模块 Entering.h #pragma once #include "afxcmn.h" #inclu

49、de "afxwin.h" #include "editprice.h" // entering 对话框 class entering : public CDialog { DECLARE_DYNAMIC(entering) public: entering(CWnd* pParent = NULL); // 标准构造函数 virtual ~entering(); // 对话框数据 enum { IDD = IDD_ENTERING }; protected: virtual void DoDataExchange(CDataExchange* pDX);

50、 // DDX/DDV 支持 DECLARE_MESSAGE_MAP() public: CListCtrl listctrl;//列表框控件对象 virtual BOOL OnInitDialog();//初始化函数 afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);//控件窗口函数 用于画出控件 CboBox year,mo,day; char *name,*num,*autho,*pr,*time,*price; afx_msg void OnBnClickedOk();

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服