c++ - 获取使用 ES_PASSWORD MFC 进行 CEdit 时显示的粗体项目符号

标签 c++ mfc

如何恢复创建带有 ES_PASSWORDCEdit 时显示的默认粗体项目符号 (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的视觉外观从粗体项目符号更改为简单难看星号

如何取回那些漂亮大胆的项目符号而不是普通的星号

最佳答案

要将密码字符设置回项目符号,请使用:

pEdit->SetPasswordChar(9679);

或十六进制:

pEdit->SetPasswordChar(0x25CF);

关于c++ - 获取使用 ES_PASSWORD MFC 进行 CEdit 时显示的粗体项目符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41350092/

相关文章:

c++ - 不正确配对的函数示例

c++ - Direct2D 位图画笔拉长

c++ - VS : Tooltip help for doxygen-style commented functions?

visual-c++ - MFC:更改CEdit的颜色

windows - MFC - 在显示对话框后立即执行代码(相当于 Form.Shown 的 .NET)

c++ - 有没有办法检查指针是否悬空?

visual-c++ - MFC:默认使用什么方法将工具栏按钮设置为总工具栏按钮的子集?

c++ - 如何将大小为 64 的字节数组转换为 Arduino C++ 中的 double 值列表?

c++ - gcc 5.1 中的链接时间优化是否足以放弃内联简单函数?

c++ - CDialog更新输入框值