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

📄 hmi_a_password_dlg.cpp

📁 面板显示程序
💻 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 + -