📄 memresultdetail.cpp
字号:
// MemResultDetail.cpp : implementation file
//
#include "stdafx.h"
#include "ManageSystem.h"
#include "MemResultDetail.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define MEMSIMPLE 0
#define MEMDETAIL 1
#define PDTSIMPLE 2
#define PDTDETAIL 3
#define DELETEMEM 0
#define DELETEPDT 1
#define MODIFYMEM 0
#define MODIFYPDT 1
#define RECODE_FIRST 1
#define RECODE_PREVE 2
#define RECODE_NEXT 3
#define RECODE_LAST 4
#define SHOW_MEM 1
#define SHOW_PDT 2
//================
#define MEM_DETAIL 1
#define MEM_SIMPLE 3
/////////////////////////////////////////////////////////////////////////////
// CMemResultDetail dialog
extern bool g_isMlocked;
IMPLEMENT_DYNCREATE(CMemResultDetail, CDialog)
CMemResultDetail::CMemResultDetail(CWnd* pParent /*=NULL*/)
: CDialog(CMemResultDetail::IDD, pParent)
{
//{{AFX_DATA_INIT(CMemResultDetail)
m_Age = _T("");
m_City = _T("");
m_Company = _T("");
m_IDCard = _T("");
m_MemID = _T("");
m_MemName = _T("");
m_Province = _T("");
m_Tel = _T("");
m_Key = _T("");
m_UserName = _T("");
m_RegisterDate = 0;
m_nsex = -1;
//}}AFX_DATA_INIT
}
void CMemResultDetail::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMemResultDetail)
DDX_Control(pDX, IDC_RADIO_MALE, m_btnMale);
DDX_Control(pDX, IDC_MPREVE, m_btnMPreve);
DDX_Control(pDX, IDC_MNEXT, m_btnMNext);
DDX_Control(pDX, IDC_MLAST, m_btnMLast);
DDX_Control(pDX, IDC_MFIRST, m_btnMFirst);
DDX_Control(pDX, IDC_CNACEL2, m_btnCancel);
DDX_Control(pDX, IDC_REGISTERDATE, m_ctrRegisterDate);
DDX_Control(pDX, IDC_UERKEY, m_ctrKey);
DDX_Control(pDX, IDC_SHOWSIMPM, m_btnShowSimp);
DDX_Control(pDX, IDC_MODIFIRECODE2, m_btnModify);
DDX_Control(pDX, IDC_DELETE2, m_btnDelete2);
DDX_Control(pDX, IDC_ADDNEWM, m_btnAddNew);
DDX_Control(pDX, IDC_USERNAME, m_ctrUserName);
DDX_Control(pDX, IDC_TELPHONE, m_ctrTel);
DDX_Control(pDX, IDC_PROVINCE, m_ctrProvince);
DDX_Control(pDX, IDC_MEMNAME, m_ctrName);
DDX_Control(pDX, IDC_MEMID, m_ctrMemID);
DDX_Control(pDX, IDC_IDCARD, m_ctrIDCard);
DDX_Control(pDX, IDC_COMPANY, m_ctrCompany);
DDX_Control(pDX, IDC_CITY, m_ctrCity);
DDX_Control(pDX, IDC_AGE, m_ctrAge);
DDX_Text(pDX, IDC_AGE, m_Age);
DDX_Text(pDX, IDC_CITY, m_City);
DDV_MaxChars(pDX, m_City, 10);
DDX_Text(pDX, IDC_COMPANY, m_Company);
DDV_MaxChars(pDX, m_Company, 20);
DDX_Text(pDX, IDC_IDCARD, m_IDCard);
DDV_MaxChars(pDX, m_IDCard, 20);
DDX_Text(pDX, IDC_MEMID, m_MemID);
DDX_Text(pDX, IDC_MEMNAME, m_MemName);
DDV_MaxChars(pDX, m_MemName, 20);
DDX_Text(pDX, IDC_PROVINCE, m_Province);
DDV_MaxChars(pDX, m_Province, 6);
DDX_Text(pDX, IDC_TELPHONE, m_Tel);
DDV_MaxChars(pDX, m_Tel, 15);
DDX_Text(pDX, IDC_UERKEY, m_Key);
DDV_MaxChars(pDX, m_Key, 20);
DDX_Text(pDX, IDC_USERNAME, m_UserName);
DDV_MaxChars(pDX, m_UserName, 20);
DDX_DateTimeCtrl(pDX, IDC_REGISTERDATE, m_RegisterDate);
DDX_Radio(pDX, IDC_RADIO_MALE, m_nsex);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMemResultDetail, CDialog)
//{{AFX_MSG_MAP(CMemResultDetail)
ON_BN_CLICKED(IDC_SHOWSIMPM, OnShowsimpm)
ON_BN_CLICKED(IDC_DELETE2, OnDelete)
ON_BN_CLICKED(IDC_MODIFIRECODE2, OnModifirecode)
ON_BN_CLICKED(IDC_ADDNEWM, OnAddnew)
ON_BN_CLICKED(IDC_CNACEL2, OnCnacel2)
ON_BN_CLICKED(IDC_MFIRST, OnMfirst)
ON_BN_CLICKED(IDC_MPREVE, OnMpreve)
ON_BN_CLICKED(IDC_MNEXT, OnMnext)
ON_BN_CLICKED(IDC_MLAST, OnMlast)
ON_WM_SIZE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMemResultDetail message handlers
void CMemResultDetail::OnOK()
{
// TODO: Add extra validation here
}
void CMemResultDetail::OnCancel()
{
// TODO: Add extra cleanup here
}
void CMemResultDetail::OnShowsimpm()
{
// TODO: Add your control notification handler code here
::SendMessage(GetParent()->m_hWnd,WM_CHANGEDIALOG,PDTSIMPLE,0);
}
void CMemResultDetail::OnDelete()
{
// TODO: Add your control notification handler code here
if(IDOK==AfxMessageBox("你确认要该删除纪录吗?",MB_OKCANCEL))
::SendMessage(GetParent()->m_hWnd,WM_DELETEFROMDETAIL,0,DELETEMEM);
}
void CMemResultDetail::OnModifirecode()
{
// TODO: Add your control notification handler code here
CString WindowText;
m_btnModify.GetWindowText(WindowText);
if(WindowText=="修改记录")
{
g_isMlocked=true;
MackEditReadOnly(false);
m_btnAddNew.EnableWindow(false);
m_btnDelete2.EnableWindow(false);
m_btnShowSimp.EnableWindow(false);
m_btnCancel.EnableWindow(true);
bPreveEnable=m_btnMPreve.IsWindowEnabled();
bNextEnable=m_btnMNext.IsWindowEnabled();
m_btnMFirst.EnableWindow(false);
m_btnMPreve.EnableWindow(false);
m_btnMNext.EnableWindow(false);
m_btnMLast.EnableWindow(false);
m_btnModify.SetWindowText("保存");
m_ctrUserName.SetFocus();
return;
}
else if(WindowText=="保存")
{
if(m_MemID.IsEmpty())
{
AfxMessageBox("请输入会员编号。");
return;
}
MackEditReadOnly(true);
m_btnAddNew.EnableWindow(true);
m_btnDelete2.EnableWindow(true);
m_btnShowSimp.EnableWindow(true);
m_btnCancel.EnableWindow(false);
m_btnMFirst.EnableWindow(true);
m_btnMPreve.EnableWindow(bPreveEnable);
m_btnMNext.EnableWindow(false);
m_btnMLast.EnableWindow(true);
UpdateData(true);
::SendMessage(GetParent()->m_hWnd,WM_MODIFIRECORDE,0,MODIFYMEM);
m_btnModify.SetWindowText("修改记录");
}
}
void CMemResultDetail::OnAddnew()
{
// TODO: Add your control notification handler code here
CString WindowText;
m_btnAddNew.GetWindowText(WindowText);
if(WindowText=="添加记录")
{
EmptyEdit();
g_isMlocked=true;
MackEditReadOnly(false);
m_btnModify.EnableWindow(false);
m_btnDelete2.EnableWindow(false);
m_btnShowSimp.EnableWindow(false);
m_btnCancel.EnableWindow(true);
bPreveEnable=m_btnMPreve.IsWindowEnabled();
bNextEnable=m_btnMNext.IsWindowEnabled();
m_btnMFirst.EnableWindow(false);
m_btnMPreve.EnableWindow(false);
m_btnMNext.EnableWindow(false);
m_btnMLast.EnableWindow(false);
m_btnAddNew.SetWindowText("保存");
m_ctrUserName.SetFocus();
return;
}
else if(WindowText=="保存")
{
UpdateData(true);
if(m_MemID.IsEmpty())
{
AfxMessageBox("请输入会员编号。");
return;
}
MackEditReadOnly(true);
m_btnModify.EnableWindow(true);
m_btnDelete2.EnableWindow(true);
m_btnShowSimp.EnableWindow(true);
m_btnCancel.EnableWindow(false);
m_btnMFirst.EnableWindow(true);
m_btnMPreve.EnableWindow(bPreveEnable);
m_btnMNext.EnableWindow(false);
m_btnMLast.EnableWindow(true);
::SendMessage(GetParent()->m_hWnd,WM_RECORD_ADD,0,MEM_DETAIL);
m_btnAddNew.SetWindowText("添加记录");
}
}
void CMemResultDetail::MackEditReadOnly(bool bReadOnly)
{
m_ctrAge.SetReadOnly(bReadOnly);
m_ctrCity.SetReadOnly(bReadOnly);
m_ctrCompany.SetReadOnly(bReadOnly);
m_ctrIDCard.SetReadOnly(bReadOnly);
m_ctrMemID.SetReadOnly(bReadOnly);
m_ctrName.SetReadOnly(bReadOnly);
m_ctrProvince.SetReadOnly(bReadOnly);
m_ctrRegisterDate.EnableWindow(!bReadOnly);
m_ctrTel.SetReadOnly(bReadOnly);
m_ctrUserName.SetReadOnly(bReadOnly);
m_ctrIDCard.SetReadOnly(bReadOnly);
m_ctrKey.SetReadOnly(bReadOnly);
GetDlgItem(IDC_RADIO_MALE)->EnableWindow(!bReadOnly);
GetDlgItem(IDC_RADIO_FEMAL)->EnableWindow(!bReadOnly);
}
BOOL CMemResultDetail::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_btnAddNew.SetShade(CShadeButtonST::SHS_METAL);
m_btnDelete2.SetShade(CShadeButtonST::SHS_METAL);
m_btnModify.SetShade(CShadeButtonST::SHS_METAL);
m_btnCancel.SetShade(CShadeButtonST::SHS_METAL);
m_btnMFirst.SetShade(CShadeButtonST::SHS_METAL);
m_btnMLast.SetShade(CShadeButtonST::SHS_METAL);
m_btnMNext.SetShade(CShadeButtonST::SHS_METAL);
m_btnMPreve.SetShade(CShadeButtonST::SHS_METAL);
m_btnShowSimp.SetIcon(IDI_CLOSE, (int)BTNST_AUTO_GRAY);
m_btnShowSimp.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, 30);
m_nsex=0;
m_nSetNum=0;
MackEditReadOnly(true);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMemResultDetail::EmptyEdit()
{
m_Age="";
m_City="";
m_Company="";
m_IDCard="";
m_Key="";
m_MemID="";
m_MemName="";
m_Province="";
m_Tel="";
m_UserName="";
m_nsex=0;
UpdateData(false);
}
void CMemResultDetail::OnCnacel2()
{
// TODO: Add your control notification handler code here
m_btnAddNew.EnableWindow(true);
m_btnModify.EnableWindow(true);
m_btnDelete2.EnableWindow(true);
m_btnShowSimp.EnableWindow(true);
m_btnCancel.EnableWindow(false);
m_btnMFirst.EnableWindow(true);
m_btnMPreve.EnableWindow(bPreveEnable);
m_btnMNext.EnableWindow(bNextEnable);
m_btnMLast.EnableWindow(true);
m_btnAddNew.SetWindowText("添加记录");
m_btnModify.SetWindowText("修改记录");
MackEditReadOnly(true);
g_isMlocked=false;
::SendMessage(GetParent()->m_hWnd,WM_SHOW_MEM_RESULT_DETAIL,-1,-1);
}
void CMemResultDetail::OnMfirst()
{
// TODO: Add your control notification handler code here
::SendMessage(GetParent()->m_hWnd,WM_RECORDE_MOVE,RECODE_FIRST,SHOW_MEM);
}
void CMemResultDetail::OnMpreve()
{
// TODO: Add your control notification handler code here
::SendMessage(GetParent()->m_hWnd,WM_RECORDE_MOVE,RECODE_PREVE,SHOW_MEM);
}
void CMemResultDetail::OnMnext()
{
// TODO: Add your control notification handler code here
::SendMessage(GetParent()->m_hWnd,WM_RECORDE_MOVE,RECODE_NEXT,SHOW_MEM);
}
void CMemResultDetail::OnMlast()
{
// TODO: Add your control notification handler code here
::SendMessage(GetParent()->m_hWnd,WM_RECORDE_MOVE,RECODE_LAST,SHOW_MEM);
}
void CMemResultDetail::ModifyFromSimple(bool bNew)
{
if(bNew)
OnAddnew();
else
OnModifirecode();
}
void CMemResultDetail::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
AutoSize();
}
void CMemResultDetail::AutoSize()
{
if(m_btnShowSimp.GetSafeHwnd())
{
CRect rect;
GetClientRect(&rect);
CRect btnRect;
btnRect.top=rect.top+20;
btnRect.right=rect.right-20;
btnRect.bottom=btnRect.top+22;
btnRect.left=btnRect.right-21;
m_btnShowSimp.MoveWindow(&btnRect);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -