我创建了两个wxTextCtrl。一个用于登录(loginTxt),另一个用于密码(pwdTxt),两者都具有可读的默认消息。
我还安装了wxEVT_LEFT_DOWN事件,这样当用户点击loginTxt或pwdTxt时,默认消息将被设置为空字符串
以后可以将wxTE_PASSWORD样式设置为pwdTxt吗?如果有可能,我该怎么做?
我读了wx.chm,它说,
“请注意,在wxMSW和wxGTK上创建控件后,可以动态更改对齐样式(wxTE_LEFT,wxTE_CENTRE和wxTE_RIGHT).wxTE_READONLY,wxTE_PASSWORD和包装样式可以在wxGTK下动态更改,但不能在wxMSW下动态更改。其他样式只能设置在控制创建期间。“。
我正在使用wxWidgets 2.9.3在MS Windows上编写我的应用程序
答案 0 :(得分:1)
您无法在Windows上更改它,因为Microsoft的控件不支持。如果你真的需要,我建议创建2个不同的控件并显示/隐藏合适的控件。
答案 1 :(得分:0)
仅限Windows的解决方案,可能会有用:
void Sample::OnBUTTONClick( wxCommandEvent& event )
{
#if defined(__WXMSW__)
HWND hWnd = (HWND)m_Text->GetHandle();
SendMessage(hWnd, EM_SETPASSWORDCHAR, 0x25cf, 0); // 0x25cf is ● character
m_Text->Update();
#endif
}