在项目中,有时候我们需要让密码输入框明文显示已经输入的密码,一般情况下,我们都是增加一个CheckBox控件,如果用户选中就显示明文密码,否则就显示为‘*’,如下代码便可以实现这个功能:
void CCMCfgDlg::OnBnClickedCheck1()
{
// TODO: 在此添加控件通知处理程序代码
int state;
state = m_DisplayPassword.GetCheck();
if(BST_CHECKED == state)
{
m_Password.SetPasswordChar(NULL);
m_Password.SetFocus();
}
else
{
m_Password.SetPasswordChar('*');
m_Password.SetFocus();
}
}
SetPasswordChar(NULL) 表示将密码明文显示 SetPasswordChar('*') 表示将密码显示为‘*’
需要注意的是,在设置密码字符后一定要将焦点设置到密码输入控件上,否则显示就无法更新。