📄 memberdlg.cpp
字号:
// MemberDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "NetworkX.h"
#include "MemberDlg.h"
#include ".\memberdlg.h"
#include "Memberset.h"
#include "m_CardNum.h"
// CMemberDlg 对话框
IMPLEMENT_DYNAMIC(CMemberDlg, CDialog)
CMemberDlg::CMemberDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMemberDlg::IDD, pParent)
{
}
CMemberDlg::~CMemberDlg()
{
}
void CMemberDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_List);
}
BEGIN_MESSAGE_MAP(CMemberDlg, CDialog)
ON_WM_CTLCOLOR()
ON_COMMAND(ID_ADD_MEMBER, OnAddMember)
ON_COMMAND(ID_DELETE_MEMBER, OnDeleteMember)
ON_COMMAND(ID_CHANGE_MEMBER, OnChangeMember)
END_MESSAGE_MAP()
// CMemberDlg 消息处理程序
HBRUSH CMemberDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
if(nCtlColor==CTLCOLOR_DLG)
return (HBRUSH)m_Brush;
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
void CMemberDlg::RefreshData()
{
if(!m_database.IsOpen())
{
m_database.Open(_T("Management"));
}
//对列表控件的内容更新,清空原来的内容
m_List.DeleteAllItems();
//创建记录集
CMemberset m_pSet(&m_database);
m_pSet.Open(AFX_DB_USE_DEFAULT_TYPE,m_query);
if(m_pSet.GetRecordCount()!=0)
m_pSet.MoveFirst();
int i=0;
do
{
CString s;
s.Format("%ld",m_pSet.m_CardNum);
m_List.InsertItem(i,s,0);
m_List.SetItemText(i,1,m_pSet.m_Name);
m_List.SetItemText(i,2,m_pSet.m_Phone);
m_List.SetItemText(i,3,m_pSet.m_Pass);
s.Format("%.1f",m_pSet.m_AllCost);
m_List.SetItemText(i,4,s);
s.Format("%.1f",m_pSet.m_Balance);
m_List.SetItemText(i,5,s);
i++;
m_pSet.MoveNext();
} while(!m_pSet.IsEOF());
m_pSet.MoveFirst();
}
BOOL CMemberDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
this->SetIcon(m_hIcon,TRUE);
m_List.SetTextColor(RGB(200,0,100));
m_List.SetTextBkColor(RGB(100,200,255));
m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_List.InsertColumn(0,_T("卡号"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_List.InsertColumn(1,_T("姓名"));
m_List.InsertColumn(2,_T("联系电话"));
m_List.InsertColumn(3,_T("密码"));
m_List.InsertColumn(4,_T("累计消费"));
m_List.InsertColumn(5,_T("余额"));
m_List.SetColumnWidth(0,80);
m_List.SetColumnWidth(1,80);
m_List.SetColumnWidth(2,120);
m_List.SetColumnWidth(3,80);
m_List.SetColumnWidth(4,80);
m_List.SetColumnWidth(5,80);
m_query.Format("select * from 会员 order by 卡号");
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CMemberDlg::OnAddMember()
{
// TODO: 在此添加命令处理程序代码
m_CardNum dlg;
if(dlg.DoModal()==IDOK)
{
if(!m_database.IsOpen())
{
m_database.Open(_T("Management"));
}
//对列表控件的内容更新,清空原来的内容
UpdateData(TRUE);
CString strSQL;
strSQL.Format("select * from 会员 order by 卡号");
CMemberset m_pSet(&m_database);
m_pSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(m_pSet.CanAppend())
{
m_pSet.AddNew();
m_pSet.m_CardNum=dlg.m_Card;
m_pSet.m_Name=dlg.m_Name;
m_pSet.m_Phone=dlg.m_Phone;
m_pSet.m_Pass=dlg.m_Pass;
m_pSet.m_AllCost=0.0;
m_pSet.m_Balance=dlg.m_Balance;
m_pSet.Update();
this->RefreshData();
}
delete dlg;
}
}
void CMemberDlg::OnDeleteMember()
{
// TODO: 在此添加命令处理程序代码
// TODO: 在此添加命令处理程序代码
int i=m_List.GetSelectionMark();
CString strSQL,msg,strname;
strname=m_List.GetItemText(i,1);
msg.Format("第 %d 项,姓名为“%s”的记录将被删除!是否继续?",i+1,strname);
//如果用户没有选择记录,则提示选取一条记录
if(i==-1)
{
MessageBox("请选择一条要删除的记录!","提示",MB_OK|MB_ICONINFORMATION);
}
else
{
if(MessageBox(msg,"提示",MB_YESNO|MB_ICONINFORMATION)==IDYES)
{
CString strname=m_List.GetItemText(i,1);
//从表中删除对应的记录
strSQL.Format("delete from 会员 where 姓名='%s'",strname);
m_database.ExecuteSQL(strSQL);
m_database.Close();
RefreshData();
}
}
}
void CMemberDlg::OnChangeMember()
{
// TODO: 在此添加命令处理程序代码
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -