📄 hmi_a_password_dlg.cpp
字号:
// HMI_A_PASSWORD_Dlg.cpp : implementation file
//
#include "stdafx.h"
#include "HMIcan_usb.h"
#include "HMI_A_PASSWORD_Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CHMI_A_PASSWORD_Dlg dialog
CHMI_A_PASSWORD_Dlg::CHMI_A_PASSWORD_Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CHMI_A_PASSWORD_Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CHMI_A_PASSWORD_Dlg)
//}}AFX_DATA_INIT
}
void CHMI_A_PASSWORD_Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CHMI_A_PASSWORD_Dlg)
DDX_Control(pDX, IDC_STATIC3, m_tip3);
DDX_Control(pDX, IDC_STATIC2, m_tip2);
DDX_Control(pDX, IDC_STATIC1, m_tip1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CHMI_A_PASSWORD_Dlg, CDialog)
//{{AFX_MSG_MAP(CHMI_A_PASSWORD_Dlg)
ON_WM_CTLCOLOR()
ON_WM_DESTROY()
ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1)
ON_EN_SETFOCUS(IDC_EDIT2, OnSetfocusEdit2)
ON_EN_SETFOCUS(IDC_EDIT3, OnSetfocusEdit3)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CHMI_A_PASSWORD_Dlg message handlers
HBRUSH CHMI_A_PASSWORD_Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (pWnd == this)
{
return m_brBk;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
void CHMI_A_PASSWORD_Dlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
}
BOOL CHMI_A_PASSWORD_Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//设置背景
m_bmpBg.LoadBitmap(IDB_BITMAP_PASSWORD);
m_brBk.CreatePatternBrush(&m_bmpBg);
m_bmpBg.DeleteObject();
m_bmp.LoadBitmap(IDB_BITMAP_);
//字体设置
lstrcpy((LPSTR)logfont.lfFaceName,(LPSTR)"Arial bold");
logfont.lfWeight=600;
logfont.lfWidth=14;
logfont.lfHeight=22;
logfont.lfEscapement=0;
logfont.lfUnderline=FALSE;
logfont.lfItalic=FALSE;
logfont.lfStrikeOut=FALSE;
logfont.lfCharSet=GB2312_CHARSET;
//静态框,编辑框颜色,背景设置
COLORREF bk = RGB(0, 0, 130);
COLORREF tx = RGB(0, 255, 255);
COLORREF tx1 = RGB(255, 255, 0);
//设置静态文本
PASSWORD.SubclassDlgItem( IDC_STATIC_PASSWORD, this );
PASSWORD.bkColor( bk );
PASSWORD.textColor( tx );
PASSWORD.setFont(&logfont );
PASSWORD_SET.SubclassDlgItem( IDC_STATIC_PASSWORD_SET, this );
PASSWORD_SET.bkColor( bk );
PASSWORD_SET.textColor( tx );
PASSWORD_SET.setFont(&logfont );
PASSWORD_AGAIN.SubclassDlgItem( IDC_STATIC_PASSWORD_AGAIN, this );
PASSWORD_AGAIN.bkColor( bk );
PASSWORD_AGAIN.textColor( tx );
PASSWORD_AGAIN.setFont(&logfont );
//设置编辑框
m_edit1.SubclassDlgItem( IDC_EDIT1, this );
m_edit1.bkColor( bk );
m_edit1.textColor( tx1 );
m_edit1.setFont( &logfont );
// m_edit1.SetWindowText("N/A");
m_edit2.SubclassDlgItem( IDC_EDIT2, this );
m_edit2.bkColor( bk );
m_edit2.textColor( tx1 );
m_edit2.setFont( &logfont );
// m_edit2.SetWindowText("N/A");
m_edit3.SubclassDlgItem( IDC_EDIT3, this );
m_edit3.bkColor( bk );
m_edit3.textColor( tx1 );
m_edit3.setFont( &logfont );
// m_edit3.SetWindowText("N/A");
index=0;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CHMI_A_PASSWORD_Dlg::PreTranslateMessage(MSG* pMsg)
{
//下移动
if(pMsg->message==WM_KEYDOWN && (pMsg->wParam==VK_DOWN))
{
if(index==2) index=0;
else index++;
if(index==0)
{
m_edit1.SetFocus();
return TRUE;
}
if(index==1)
{
m_edit2.SetFocus();
return TRUE;
}
if(index==2)
{
m_edit3.SetFocus();
return TRUE;
}
}
//上移动
if(pMsg->message==WM_KEYDOWN && (pMsg->wParam==VK_UP))
{
if(index==0) index=2;
else index--;
if(index==0)
{
m_edit1.SetFocus();
return TRUE;
}
if(index==1)
{
m_edit2.SetFocus();
return TRUE;
}
if(index==2)
{
m_edit3.SetFocus();
return TRUE;
}
}
//响应回车
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
{
if(CHMIcan_usbDlg::GetFocus() == GetDlgItem(IDC_EDIT1))
{
//取edit中字符,读外部文件,比较密码是否一致
//一致则进入下一菜单修改设置,不一致则提示返回
CString temp;
m_edit1.GetWindowText(temp);
if(temp=="csz")
{
MessageBox("111");
}
}
if(CHMIcan_usbDlg::GetFocus() == GetDlgItem(IDC_EDIT2))
{
//将焦点交给edit3
m_edit3.SetFocus();
return TRUE;
}
if(CHMIcan_usbDlg::GetFocus() == GetDlgItem(IDC_EDIT2))
{
//检查初始密码是否正确,正确则提出提示修改成功
//否则提示初始密码错误
}
}
//获得焦点则显示提示符
if(CHMIcan_usbDlg::GetFocus() == GetDlgItem(IDC_EDIT1))
{
index=0;
m_tip1.ShowWindow(SW_SHOW);
}
else
{
m_tip1.ShowWindow(SW_HIDE);
}
if(CHMIcan_usbDlg::GetFocus() == GetDlgItem(IDC_EDIT2))
{
index=1;
m_tip2.ShowWindow(SW_SHOW);
}
else
{
m_tip2.ShowWindow(SW_HIDE);
}
if(CHMIcan_usbDlg::GetFocus() == GetDlgItem(IDC_EDIT3))
{
index=2;
m_tip3.ShowWindow(SW_SHOW);
}
else
{
m_tip3.ShowWindow(SW_HIDE);
}
return CDialog::PreTranslateMessage(pMsg);
}
void CHMI_A_PASSWORD_Dlg::OnSetfocusEdit1()
{
m_edit1.CreateCaret(&m_bmp);
m_edit1.ShowCaret();
}
void CHMI_A_PASSWORD_Dlg::OnSetfocusEdit2()
{
m_edit2.CreateCaret(&m_bmp);
m_edit2.ShowCaret();
}
void CHMI_A_PASSWORD_Dlg::OnSetfocusEdit3()
{
m_edit3.CreateCaret(&m_bmp);
m_edit3.ShowCaret();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -