📄 logindlg1.cpp
字号:
// LoginDlg1.cpp : implementation file
//
#include "stdafx.h"
#include "SmsTest.h"
#include "LoginDlg1.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
int g_index_user; //获取"用户"的索引值
int g_judge = 1; //用来判断是什么用户,以决定权限
int g_time = 0;
int quit = 0;
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg dialog
CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLoginDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLoginDlg)
m_PassWord = _T("");
//}}AFX_DATA_INIT
}
void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLoginDlg)
DDX_Control(pDX, IDCANCEL, m_cancel);
DDX_Control(pDX, IDC_LAND, m_land);
DDX_Control(pDX, IDC_COMBO1, m_UserName);
DDX_Text(pDX, IDC_PASSWORD, m_PassWord);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
//{{AFX_MSG_MAP(CLoginDlg)
ON_BN_CLICKED(IDC_LAND, OnLand)
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_WM_CLOSE()
ON_WM_CTLCOLOR()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers
BOOL CLoginDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_UserName.ResetContent();
m_UserName.AddString(_T("管理员")); //添加两个用户
m_UserName.AddString(_T("用户"));
m_UserName.SetCurSel(1); //默认为"用户"
g_index_user = m_UserName.GetCurSel(); //获取索引值
this->SetIcon(AfxGetApp( )->LoadIcon (IDR_MAINFRAME),false);//标题栏加入图标
return TRUE;
}
void CLoginDlg::OnLand()
{
// TODO: Add your control notification handler code here
UpdateData();
if(g_judge == 0) //选择"管理员"时
{
if(m_PassWord == "neoway") //密码为admi
{
EndDialog(IDD_LOGIN_DIALOG); //结束登陆对话框
return;
}
else
{
MessageBox("密码错误");
g_time++;
}
}
else //选择"用户"时
{
if(m_PassWord == "neoway") //密码为user
{
EndDialog(IDD_LOGIN_DIALOG); //结束登陆对话框
return;
}
else
{
MessageBox("密码错误");
/*omboBox *pEdit=(CComboBox*)GetDlgItem(IDC_PASSWORD);
pEdit->SetFocus();
pEdit->SetEditSel(-1, 0);*/
g_time++;
}
}
if(g_time>2)
{
AfxMessageBox("登陆错误次数超过3次");
quit = 1;
EndDialog(IDD_LOGIN_DIALOG);
}
UpdateData(FALSE);
}
void CLoginDlg::OnCancel()
{
// TODO: Add extra cleanup here
PostQuitMessage(0);
quit = 1;
CDialog::OnCancel();
}
void CLoginDlg::OnSelchangeCombo1()
{
// TODO: Add your control notification handler code here
g_index_user = m_UserName.GetCurSel();
if(g_index_user==0)
g_judge = 0; //这个用来决定Begin对话框的权限
else
g_judge = 1;
}
void CLoginDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
CDialog::OnClose();
}
BOOL CLoginDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
/*if(g_time>2)
{
AfxMessageBox("登陆错误次数超过3次");
PostQuitMessage(0);
}
if(pMsg->wParam==13)
{
UpdateData();
if(g_judge == 0) //选择"管理员"时
{
if(m_PassWord == "neoway") //密码为admi
EndDialog(IDD_LOGIN_DIALOG);
else
{
MessageBox("密码错误");
g_time++;
return TRUE; //密码错误时返回
}
}
else //选择"用户"时
{
if(m_PassWord == "neoway") //密码为user
EndDialog(IDD_LOGIN_DIALOG);
else
{
MessageBox("密码错误");
g_time++;
//return TRUE;
}
}
UpdateData(FALSE);
}*/
/*if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
return TRUE;
if(pMsg->wParam==VK_RETURN)
return TRUE;*/
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_RETURN://屏蔽回车
return TRUE;
case VK_ESCAPE://屏蔽Esc
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
HBRUSH CLoginDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (pWnd->GetDlgCtrlID()==IDC_STATIC)
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
}
//标题
if (pWnd->GetDlgCtrlID()==IDC_TITLE)
{
CFont font;
font.CreatePointFont(200,"隶书");
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(0,0,255));
pDC->SetBkMode(TRANSPARENT);
}
//静态框透明
switch(nCtlColor)
{
case CTLCOLOR_STATIC:
pDC->SetBkMode(TRANSPARENT);
HBRUSH B=CreateSolidBrush(RGB(236,233,216));
return B;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
BOOL CLoginDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
BOOL retValue= CDialog::OnEraseBkgnd(pDC);
CRect rc;
GetClientRect(&rc);
pDC->FillSolidRect(&rc,RGB(255,236,216));
return retValue;
return CDialog::OnEraseBkgnd(pDC);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -