logdlg.cpp

来自「大型实验:Unix文件管系统模拟。用内存中的一段区域模拟硬盘空间」· C++ 代码 · 共 110 行

CPP
110
字号
// LogDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FileSys.h"
#include "LogDlg.h"
#include "filsys.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLogDlg dialog


CLogDlg::CLogDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CLogDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLogDlg)
	m_uname = _T("");
	m_pword = _T("");
	//}}AFX_DATA_INIT
	m_bLoaded = false;
}


void CLogDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLogDlg)
	DDX_Text(pDX, IDC_EDIT3, m_uname);
	DDV_MaxChars(pDX, m_uname, 15);
	DDX_Text(pDX, IDC_EDIT4, m_pword);
	DDV_MaxChars(pDX, m_pword, 15);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLogDlg, CDialog)
	//{{AFX_MSG_MAP(CLogDlg)
	ON_BN_CLICKED(IDC_LOGIN_FORMAT, OnFormat)
	ON_BN_CLICKED(IDC_LOGIN_LOAGING, OnLoaging)
	ON_BN_CLICKED(IDC_QUIT, OnQuit)
	ON_BN_CLICKED(ID_OK, OnOk)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLogDlg message handlers

void CLogDlg::OnFormat() 
{
	// TODO: Add your control notification handler code here
//	format();
	((CButton*)GetDlgItem(IDC_LOGIN_FORMAT))->ShowWindow(false);
}

void CLogDlg::OnLoaging() 
{
	// TODO: Add your control notification handler code here
//	install();
	m_bLoaded = true;
	((CButton*)GetDlgItem(IDC_LOGIN_LOAGING))->ShowWindow(false);

	((CButton*)GetDlgItem(ID_OK))->ShowWindow(true);

	((CStatic*)GetDlgItem(IDC_STATIC_UN))->ShowWindow(true);
	((CEdit*)GetDlgItem(IDC_EDIT3))->ShowWindow(true);
	((CStatic*)GetDlgItem(IDC_STATIC_PW))->ShowWindow(true);
	((CEdit*)GetDlgItem(IDC_EDIT4))->ShowWindow(true);

}

void CLogDlg::Onlogin() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	// TODO: Add extra validation here
	if(m_uname.GetLength()<=0 || m_pword.GetLength()<=0)
		return;

	int user_id = login(m_uname.GetBuffer(m_uname.GetLength()),
						m_pword.GetBuffer(m_pword.GetLength()));
	if(user_id<0){
		m_uname = "";
		m_pword = "";
		UpdateData(false);

		((CStatic*)GetDlgItem(IDC_ERROR))->SetWindowText("你输入帐号或是密码有误!");

		return ;
	}
	CDialog::OnOK();
}

void CLogDlg::OnQuit() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnCancel();
}

void CLogDlg::OnOk() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnOK();
}

⌨️ 快捷键说明

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