📄 clerkmdlg.cpp
字号:
// ClerkMDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Library.h"
#include "ClerkMDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClerkMDlg dialog
CClerkMDlg::CClerkMDlg(CWnd* pParent /*=NULL*/)
: CDialog(CClerkMDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CClerkMDlg)
m_strUserNameQ = _T("");
m_strUserName = _T("");
m_strUserIDQ = _T("");
m_strPassword = _T("");
m_strIDCard = _T("");
m_USERID = 0;
//}}AFX_DATA_INIT
}
void CClerkMDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CClerkMDlg)
DDX_Control(pDX, IDC_POSITION, m_cntrPosition);
DDX_Text(pDX, IDC_USERNAME_Q, m_strUserNameQ);
DDV_MaxChars(pDX, m_strUserNameQ, 8);
DDX_Text(pDX, IDC_USERNAME, m_strUserName);
DDV_MaxChars(pDX, m_strUserName, 8);
DDX_Text(pDX, IDC_USERID_Q, m_strUserIDQ);
DDV_MaxChars(pDX, m_strUserIDQ, 8);
DDX_Text(pDX, IDC_PASSWORD, m_strPassword);
DDV_MaxChars(pDX, m_strPassword, 8);
DDX_Text(pDX, IDC_IDCARD, m_strIDCard);
DDV_MaxChars(pDX, m_strIDCard, 18);
DDX_Text(pDX, IDC_USERID, m_USERID);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CClerkMDlg, CDialog)
//{{AFX_MSG_MAP(CClerkMDlg)
ON_BN_CLICKED(IDC_CANCEL_REC, OnCancelRec)
ON_BN_CLICKED(IDC_EXIT, OnExit)
ON_BN_CLICKED(IDC_NEW, OnNew)
ON_BN_CLICKED(IDC_SAVE, OnSave)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClerkMDlg message handlers
void CClerkMDlg::OnCancelRec()
{
m_bAdd = FALSE;
m_bEdit = FALSE;
DisplayRecord();
SetButtonState();
SetTextState();
}
void CClerkMDlg::OnExit()
{
// TODO: Add your control notification handler code here
CDialog::OnCancel();
}
void CClerkMDlg::OnNew()
{
// TODO: Add your control notification handler code here
m_USERID = NULL;
m_strUserName = "";
m_strIDCard = "";
m_strPassword = "";
// m_cntrPosition.
UpdateData(FALSE);
m_bEdit = TRUE;
m_bAdd = TRUE;
SetButtonState();
SetTextState();
CWnd *pWnd;
pWnd = GetDlgItem(IDC_USERID);
pWnd->SetFocus();
}
void CClerkMDlg::OnSave()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if ( m_strUserName.IsEmpty())
{
AfxMessageBox("请输入相应数据!");
return;
}
if (m_bAdd)
{
m_database.AddNew();
}
else
{
m_database.Edit();
}
m_database.m_username = m_strUserName;
m_database.m_adm_ID = m_USERID;
m_database.m_password = m_strPassword;
m_database.Update();
m_database.Requery();
m_bAdd = FALSE;
m_bEdit = FALSE;
DisplayRecord();
SetButtonState();
SetTextState();
}
BOOL CClerkMDlg::DisplayRecord()
{
if (m_database.IsEOF() && m_database.IsBOF())
{
m_USERID = NULL;
m_strUserName = "";
m_strPassword = "";
m_cntrPosition.SelectString(1,"");
}
else
{
if (m_database.IsBOF())
{
m_database.MoveNext();
}
else
{
if (m_database.IsEOF())
{
m_database.MovePrev();
}
}
m_USERID = m_database.m_adm_ID;
m_strUserName = m_database.m_username;
m_strPassword = m_database.m_password;
m_cntrPosition.SelectString(1,"");
}
UpdateData(FALSE);
return TRUE;
}
BOOL CClerkMDlg::SetTextState()
{
CWnd *pWnd;
if (m_bEdit)
{
pWnd = GetDlgItem(IDC_USERNAME);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_USERID);
if (m_bAdd)
pWnd->EnableWindow(TRUE);
else
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_IDCARD);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_PASSWORD);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_POSITION);
pWnd->EnableWindow(TRUE);
}
else
{
pWnd = GetDlgItem(IDC_USERNAME);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_USERID);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_IDCARD);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_PASSWORD);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_POSITION);
pWnd->EnableWindow(FALSE);
}
pWnd = GetDlgItem(IDC_USERNAME_Q);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_USERID_Q);
pWnd->EnableWindow(TRUE);
return TRUE;
}
BOOL CClerkMDlg::SetButtonState()
{
CWnd *pWnd;
if(!m_database.IsOpen())
{
pWnd = GetDlgItem(IDC_FIRST);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_NEXT);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_PRIOR);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_LAST);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_NEW);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_EDIT);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_ENQUERY);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_DELETE);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_SAVE);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_CANCEL_REC);
pWnd->EnableWindow(FALSE);
return TRUE;
}
if (m_bEdit)
{
pWnd = GetDlgItem(IDC_FIRST);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_NEXT);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_PRIOR);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_LAST);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_NEW);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_EDIT);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_ENQUERY);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_DELETE);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_SAVE);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_CANCEL_REC);
pWnd->EnableWindow(TRUE);
return TRUE;
}
if (m_database.IsBOF())
{
pWnd = GetDlgItem(IDC_FIRST);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_PRIOR);
pWnd->EnableWindow(FALSE);
}
else
{
pWnd = GetDlgItem(IDC_FIRST);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_PRIOR);
pWnd->EnableWindow(TRUE);
}
if (m_database.IsEOF())
{
pWnd = GetDlgItem(IDC_NEXT);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_LAST);
pWnd->EnableWindow(FALSE);
}
else
{
pWnd = GetDlgItem(IDC_NEXT);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_LAST);
pWnd->EnableWindow(TRUE);
}
if (m_database.IsBOF() && m_database.IsEOF())
{
pWnd = GetDlgItem(IDC_EDIT);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_DELETE);
pWnd->EnableWindow(FALSE);
}
else
{
pWnd = GetDlgItem(IDC_EDIT);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_DELETE);
pWnd->EnableWindow(TRUE);
}
pWnd = GetDlgItem(IDC_NEW);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_ENQUERY);
pWnd->EnableWindow(TRUE);
pWnd = GetDlgItem(IDC_SAVE);
pWnd->EnableWindow(FALSE);
pWnd = GetDlgItem(IDC_CANCEL_REC);
pWnd->EnableWindow(FALSE);
return TRUE;
}
BOOL CClerkMDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_bAdd = FALSE;
m_bEdit = FALSE;
CWnd *pWnd;
pWnd = GetDlgItem(IDC_POSITION);
((CComboBox *)pWnd)->AddString("主席");
((CComboBox *)pWnd)->AddString("经理");
((CComboBox *)pWnd)->AddString("主任");
((CComboBox *)pWnd)->AddString("员工");
if (!m_database.Open(AFX_DB_USE_DEFAULT_TYPE))
AfxMessageBox("数据打开失败!");
DisplayRecord();
SetButtonState();
SetTextState();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -