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

📄 dlgpwd.cpp

📁 通过GSM模块接收和发送短信的代码。在eVC4.0下编译通过
💻 CPP
字号:
// DlgPwd.cpp : implementation file
//

#include "stdafx.h"
#include "portpe.h"
#include "DlgPwd.h"
extern CPortPeApp theApp;

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

/////////////////////////////////////////////////////////////////////////////
// CDlgPwd dialog


CDlgPwd::CDlgPwd(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgPwd::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgPwd)
	//}}AFX_DATA_INIT
}


void CDlgPwd::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgPwd)
	DDX_Control(pDX, IDC_PICTURE, m_pic);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgPwd, CDialog)
	//{{AFX_MSG_MAP(CDlgPwd)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgPwd message handlers

BOOL CDlgPwd::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	HBITMAP	hBk	=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(MAIN31),IMAGE_BITMAP, 0, 0, 0);	
	
	if(hBk!=NULL)
	{
		m_pic.SetBitmap(hBk);
	}

	CEdit* pBoxOne;
	pBoxOne = (CEdit*) GetDlgItem (IDC_EDIT1);
	pBoxOne->SetWindowPos(NULL,0,0,150,20,SWP_NOMOVE|SWP_NOZORDER|SWP_NOOWNERZORDER);

	iLocal=0;

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

HBRUSH CDlgPwd::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	if(nCtlColor== CTLCOLOR_MSGBOX || nCtlColor== CTLCOLOR_EDIT)
	{
		pDC->SetTextColor(RGB(0, 0, 0));
		pDC->SetBkColor(RGB(250,241,241));
		HBRUSH h = ::CreateSolidBrush(RGB(250,241,241));
		return h;
	}
	else
	   return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);	// TODO: Return a different brush if the default is not desired
	return hbr;
}

BOOL CDlgPwd::PreTranslateMessage(MSG* pMsg) 
{
	if(WM_KEYDOWN == pMsg->message)
	{
		switch((int) pMsg->wParam)
		{
			case 13://回车
				if (iLocal == 2)//取消
				{
					CDialog::OnCancel ();
					return TRUE;
				}
				else
				{
					if (iLocal == 0)
					{
						iLocal=1;
						ShowPic();
					}
					if (CheckPwd ())//验证通过
					{
						CDialog::OnOK ();
					}
					else
						return TRUE;
				}
				return TRUE;
			case 9://Tab键
			case 40://向下箭头
				if (iLocal == 2)
				{
					iLocal=-1;
				}
				iLocal++;
				ShowPic();
				return TRUE;
			case 38://向上箭头
				if (iLocal == 0)
				{
					iLocal=3;
				}
				iLocal--;
				ShowPic();
				return TRUE;
			case 27://ESC键:退出
				CDialog::OnCancel ();
				return TRUE;
			case 12://清除键
			case 8://清除键
				break;
			case 48:
			case 49:
			case 50:
			case 51:
			case 52:
			case 53:
			case 54:
			case 55:
			case 56:
			case 57:
				if (iLocal != 0)
					return TRUE;
				
				break;
			default:
				return TRUE;
		}
	}
	if ( WM_KEYUP == pMsg->message)
	{
		return TRUE;
	}	
	return CDialog::PreTranslateMessage(pMsg);
}

void CDlgPwd::ShowPic()
{
	HBITMAP	hBk;

	switch(iLocal)
	{
		case 0://文本框
			CEdit* pBoxOne;
			pBoxOne = (CEdit*) GetDlgItem (IDC_EDIT1);
			pBoxOne->SetFocus();
			hBk	=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(MAIN31),IMAGE_BITMAP, 0, 0, 0);	
			break;
		case 1://拨打电话
			hBk	=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(MAIN311),IMAGE_BITMAP, 0, 0, 0);	
			break;
		case 2://阅读短信
			hBk	=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(MAIN312),IMAGE_BITMAP, 0, 0, 0);	
			break;
		default:
			return;
	}
	if(hBk!=NULL)
	{
		m_pic.SetBitmap(hBk);
	}
}

BOOL CDlgPwd::CheckPwd()
{
	TCHAR pwd[8]=TEXT("\0");
	
	
	CEdit* pBoxOne;
	TCHAR input[64]=TEXT("\0");
	pBoxOne = (CEdit*) GetDlgItem (IDC_EDIT1);
	if (pBoxOne->GetWindowTextLength() == 0)
	{
		MessageBox(TEXT("请输入用户密码"),TEXT("系统提示信息"),MB_OK|MB_ICONHAND);
		return FALSE;
	}
	else
	{
		pBoxOne->GetWindowText (input,32);
		if (wcscmp(input,theApp.AppSetup.PWD) != 0)
		{
			MessageBox(TEXT("输入密码错误"),TEXT("系统提示信息"),MB_OK|MB_ICONEXCLAMATION);
			return FALSE;
		}
	}
	return TRUE;
}

⌨️ 快捷键说明

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