【发布时间】:2016-12-28 03:05:53
【问题描述】:
如何恢复使用 ES_PASSWORD 创建 CEdit 时显示的默认 bold bullet (ES_PASSWORD)来自资源。
我尝试过的:
void CDialogMain::OnBnClickedCheckShowPwd()
{
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT_PASSWORD);
if (m_CheckShowPwd.GetState() & BST_CHECKED)
{
pEdit->SetPasswordChar(0);
ASSERT(!(pEdit->GetStyle() & ES_PASSWORD));
}
else{
pEdit->SetPasswordChar(L'*');
ASSERT((pEdit->GetStyle() & ES_PASSWORD));
}
pEdit->Invalidate(FALSE);
}
我想更改 CEdit 控件的 ES_PASSWORD 样式。下面的代码在运行时更改它,但 CEdit 的视觉外观从 Bold Bullet 更改为 普通丑陋的外观 星号。
如何找回那些漂亮的 粗体符号而不是普通的星号
【问题讨论】:
-
通过谷歌搜索和阅读,我发现有一条 EM_SETPASSWORDCHAR 消息 (msdn.microsoft.com/en-us/library/windows/desktop/…),显然可以让您设置所需的任何字符。所以如果没有别的,你可以强行将它设置为你想要的子弹。