accountsetdlg.cpp

来自「课程设计的简单Access学生数据库系统」· C++ 代码 · 共 136 行

CPP
136
字号
// AccountSetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "sm.h"
#include "Account.h"
#include "AccountSetDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAccountSetDlg dialog


//##ModelId=40A481F702FD
CAccountSetDlg::CAccountSetDlg(Account* pdata, CWnd* pParent /*=NULL*/)
	: CDialog(CAccountSetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAccountSetDlg)
	m_New1 = _T("");
	m_New2 = _T("");
	m_Name = _T("");
	//}}AFX_DATA_INIT
	if(pdata)
	{
		Mode = 1;
		pData = pdata;
	}
	else
	{
		Mode = 0;
		pData = new Account();
	}
	m_Name = pData->Name;
}


//##ModelId=40A481F7033D
void CAccountSetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAccountSetDlg)
	DDX_Control(pDX, IDC_OLD_EDIT, m_OldEdit);
	DDX_Control(pDX, IDC_OLD_STATIC, m_OldStatic);
	DDX_Text(pDX, IDC_NEW_1, m_New1);
	DDV_MaxChars(pDX, m_New1, 12);
	DDX_Text(pDX, IDC_NEW_2, m_New2);
	DDV_MaxChars(pDX, m_New2, 12);
	DDX_Text(pDX, IDC_NAME, m_Name);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAccountSetDlg, CDialog)
	//{{AFX_MSG_MAP(CAccountSetDlg)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAccountSetDlg message handlers



//##ModelId=40A481F7034C
BOOL CAccountSetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	UpdateData(false);
	m_OldEdit.ShowWindow(!Mode?SW_HIDE:SW_SHOW);
	m_OldStatic.ShowWindow(!Mode?SW_HIDE:SW_SHOW);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

//##ModelId=40A481F7035B
void CAccountSetDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	if(!Mode)
		delete pData;
}

//##ModelId=40A481F7035D
void CAccountSetDlg::OnOK() 
{
	CString s;
	UpdateData();
	if(Mode)
	{
		m_OldEdit.GetWindowText(s);
		if(s!=pData->Pass)
		{
			AfxMessageBox("旧密码错误");
			return;
		}
		
	}
	if(m_New1 != m_New2)
	{
		AfxMessageBox(" 两次密码输入不同");
		return;
	}
	if(m_Name == "")
	{
		AfxMessageBox(" 请输入姓名");
		return;
	}
	pData->Name = m_Name;
	pData->Pass = m_New1;

	CDaoTableDef TD(&theDatabase);
	TD.Open("account");
	CDaoRecordset RS;
	RS.Open(&TD);
	if(Mode)
		pData->Update(&RS);
	else
		pData->AddNew(&RS);
	RS.Close();
	TD.Close();
	CDialog::EndDialog(pData->ID);;
}

//##ModelId=40A481F7036B
void CAccountSetDlg::OnCancel() 
{
	CDialog::EndDialog(0);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?