dpassword.cpp

来自「一个邮件客户端源代码,包括收发邮件,安排日程等很多内容」· C++ 代码 · 共 105 行

CPP
105
字号
// DPassword.cpp : implementation file
//

#include "stdafx.h"
#include "magic.h"
#include "DPassword.h"

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

/////////////////////////////////////////////////////////////////////////////
// DPassword dialog


DPassword::DPassword(BOOL bCnf)
	: CDialog(DPassword::IDD, NULL)
{
	//{{AFX_DATA_INIT(DPassword)
	m_sPassword = _T("");
	m_sOpen = _T("");
	//}}AFX_DATA_INIT
	m_bCnf = bCnf;
}


void DPassword::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DPassword)
	DDX_Text(pDX, IDC_PASSWORD, m_sPassword);
	DDX_Text(pDX, IDC_PASSWORD_OPEN, m_sOpen);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(DPassword, CDialog)
	//{{AFX_MSG_MAP(DPassword)
	ON_WM_TIMER()
	ON_WM_DESTROY()
	ON_EN_CHANGE(IDC_PASSWORD, OnChangePassword)
	ON_EN_CHANGE(IDC_PASSWORD_OPEN, OnChangePassword)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DPassword message handlers


void DPassword::OnOK() 
{
	UpdateData();
	// check match
	if (m_bCnf && m_sPassword != m_sOpen)
	{
		return;
	}
	CDialog::OnOK();
}

void DPassword::OnTimer(UINT nIDEvent) 
{
	if (nIDEvent == m_nTimer)
	{
		GetDlgItem(IDC_CAPS)->ShowWindow(GetKeyState(VK_CAPITAL) & 1);
	}
	CDialog::OnTimer(nIDEvent);
}

BOOL DPassword::OnInitDialog() 
{
	CDialog::OnInitDialog();

	DlgTranslate(this);
	m_nTimer = SetTimer(12, 300, NULL);

	if (m_bCnf)
	{
		m_sOpen = m_sPassword;
	}
	else
	{
		GetDlgItem(IDC_CNF)->ShowWindow(FALSE);
		GetDlgItem(IDC_PASSWORD_OPEN)->ShowWindow(FALSE);
	}
	UpdateData(FALSE);
	OnChangePassword();

	return TRUE;
}

void DPassword::OnDestroy() 
{
	KillTimer(m_nTimer);
	CDialog::OnDestroy();
}

void DPassword::OnChangePassword() 
{
	UpdateData();
	GetDlgItem(IDC_WARN)->ShowWindow((m_bCnf && m_sPassword != m_sOpen));
}

⌨️ 快捷键说明

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