gpt4 book ai didi

c++ - 如何在CMFCPropertyGridCtrl中插入一个编辑框来使用密码?

转载 作者:行者123 更新时间:2023-11-30 02:29:32 33 4
gpt4 key购买 nike

我想在 CMFCPropertyGridCtrl 中插入一个编辑框来输入密码。但是CMFCPropertyGridProperty 只能创建普通的编辑框。我如何为密码使用创建一个新密码?

最佳答案

CMFCPropertyGridProperty 派生一个新类并覆盖两个函数:OnDrawValue()CreateInPlaceEdit()

代码原型(prototype)可能是这样的:

void CMyGridProperty::OnDrawValue(CDC* pDC, CRect rect)
{
// pre-processing
// ...

CString strVal = FormatProperty();
if(!strVal.IsEmpty())
{
strVal = _T("******"); // NOTE: replace the plain text with "******"
}
rect.DeflateRect(AFX_TEXT_MARGIN, 0);
pDC->DrawText(strVal, rect, DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX | DT_END_ELLIPSIS);

// post-processing
// ...
}

CWnd* CMyGridProperty::CreateInPlaceEdit(CRect rectEdit, BOOL& bDefaultFormat)
{
// pre-processing
// ...

CEdit* pWndEdit = new CEdit;
DWORD dwStyle = WS_VISIBLE | WS_CHILD | ES_AUTOHSCROLL | ES_PASSWORD; // NOTE: add 'ES_PASSWORD' style here
pWndEdit->Create(dwStyle, rectEdit, m_pWndList, AFX_PROPLIST_ID_INPLACE);

// post-processing
// ...

return pWndEdit;
}

关于c++ - 如何在CMFCPropertyGridCtrl中插入一个编辑框来使用密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39372677/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com