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

📄 logindlg1.cpp

📁 大型实验:Unix文件管系统模拟。用内存中的一段区域模拟硬盘空间
💻 CPP
字号:
// LoginDlg1.cpp : implementation file
//

#include "stdafx.h"
#include "FileSys.h"
#include "LoginDlg1.h"

#include "filsys.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLoginDlg dialog


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


void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLoginDlg)
	DDX_Text(pDX, IDC_EDIT1, m_uname);
	DDV_MaxChars(pDX, m_uname, 15);
	DDX_Text(pDX, IDC_EDIT2, m_pword);
	DDV_MaxChars(pDX, m_pword, 15);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
	//{{AFX_MSG_MAP(CLoginDlg)
	ON_BN_CLICKED(IDC_BUTTON1, OnFormat)
	ON_BN_CLICKED(IDC_BUTTON2, OnLoading)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers

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

void CLoginDlg::OnLoading() 
{
	// TODO: Add your control notification handler code here
	install();
	m_bLoaded = true;
	((CButton*)GetDlgItem(IDC_BUTTON2))->ShowWindow(false);
	((CButton*)GetDlgItem(IDC_BUTTON1))->ShowWindow(false);

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

	((CStatic*)GetDlgItem(IDC_STATIC_ZH))->ShowWindow(true);
	((CEdit*)GetDlgItem(IDC_EDIT1))->ShowWindow(true);
	((CStatic*)GetDlgItem(IDC_STATIC_MM))->ShowWindow(true);
	((CEdit*)GetDlgItem(IDC_EDIT2))->ShowWindow(true);	
}

void CLoginDlg::OnOK() 
{
	// TODO: Add extra validation here

	UpdateData(true);
	if(m_uname.GetLength()<=0 || m_pword.GetLength()<=0)
		return;

	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_R))->SetWindowText("你输入帐号或是密码有误!");

		return ;
	}
	user_count = 1;
	CDialog::OnOK();
}

void CLoginDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	if(m_bLoaded)
	{
		halt();
	}
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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