⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clerkmdlg.cpp

📁 mfc编的一个图书馆图书管理系统
💻 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 + -