程序背景:也就是功能。(MFC 连接SQL server数据库)
假设一个出租DVD的小店需要一个简单的管理系统来管理出租影碟信息,需完成的主要功能如下:
⑴、按条件查询出租记录;
⑵、出租时添加租借记录;
⑶、租借人归还影碟时,删除其租借记录;
⑷、借、还时对应的DVD影碟数目进行更改;
分析:
1、进行界面设计
2、进行数据库设计
3、使用界面连接数据库,并进行逻辑代码编写
一、界面设计:
1、打开vs2017---->建立MFC工程,如下图:
2、双击进行界面设计(需要有MFC基础):
下图中用的到控件有:List Control,Group Box,Button, Static Text,Check Box,Picture Control,Data Time Picker,Combo Box。
该界面为主界面。
3、在对话框资源增加对话框(用于出租信息添加),并新建类,新建对话框界面如下:
4、在主对话框添加初始化代码:
m_rentInfoList.InsertColumn(0, _T("ID"), LVCFMT_LEFT, 40);
m_rentInfoList.InsertColumn(1, _T("租借人"), LVCFMT_LEFT, 100);
m_rentInfoList.InsertColumn(2, _T("租借DVD名字"), LVCFMT_LEFT, 200);
m_rentInfoList.InsertColumn(3, _T("租借日期"), LVCFMT_LEFT, 160);
m_rentInfoList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
m_DateFrom.SetFormat(_T("yyyyMMdd"));
m_DateTo.SetFormat(_T("yyyyMMdd"));
m_check_Date = FALSE;
m_DateFrom.EnableWindow(FALSE);
m_DateTo.EnableWindow(FALSE);
5、双击主对话框的出租DVD按钮,添加代码。
void CDVDRentDlg::OnBnClickedButtonRent()
{
// TODO: 在此添加控件通知处理程序代码
CRentDVD dlg;
dlg.DoModal();
}
6、双击指定查询日期按钮,添加代码(主要是用于检查是否选中)
void CDVDRentDlg::OnBnClickedCheckDate()
{
// TODO: 在此添加控件通知处理程序代码
if (m_check_Date) {
m_check_Date = FALSE;
m_DateFrom.EnableWindow(FALSE);
m_DateTo.EnableWindow(FALSE);
}
else {
m_check_Date = TRUE;
m_DateFrom.EnableWindow(TRUE);
m_DateTo.EnableWindow(TRUE);
}
}
7、编写用于出租信息添加界面的初始化界面。
BOOL CRentDVD::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
m_DVDInfoList.InsertColumn(0, _T("ID"), LVCFMT_LEFT, 40);
m_DVDInfoList.InsertColumn(1, _T("影碟"), LVCFMT_LEFT, 120);
m_DVDInfoList.InsertColumn(2, _T("目前数量"), LVCFMT_LEFT, 80);
m_DVDInfoList.InsertColumn(3, _T("内容描述"), LVCFMT_LEFT, 240);
m_DVDInfoList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
8、大致流程就是这样子,给控件命名ID,添加控件变量这里不详细说。本实例中,除了Check box添加的是值变量,其余都是i控件变量。(详细的本工程可以进行下载),本节设计完成后,界面如下:
点击出租DVD如下:
注:若有不懂得MFC界面地方,请留言交流。(项目参考与VS驿站)
本节工程下在地址:
链接:https://pan.baidu.com/s/10Tjy0cZLohu_uWPR8FYwzA
提取码:5fom