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

📄 logindlg1.cpp

📁 可实现接收和发送短信息
💻 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 + -