C++ 稍后设置wxTE_密码

C++ 稍后设置wxTE_密码,c++,wxwidgets,C++,Wxwidgets,我创建了两个wxtctrl。一个用于登录(loginTxt),另一个用于密码(pwdTxt),两者都有可读的默认消息 我还安装了wxEVT_LEFT_DOWN事件,这样当用户单击loginTxt或pwdTxt时,默认消息将设置为空字符串 以后是否可以将wxTE_密码样式设置为pwdTxt?如果可能的话,我怎么做 我读了wx.chm,它说 “请注意,在wxMSW和wxGTK上创建控件后,可以动态更改对齐样式(wxTE_左、wxTE_中和wxTE_右)。wxTE_只读、wxTE_密码和包装样式可以在

我创建了两个wxtctrl。一个用于登录(loginTxt),另一个用于密码(pwdTxt),两者都有可读的默认消息

我还安装了wxEVT_LEFT_DOWN事件,这样当用户单击loginTxt或pwdTxt时,默认消息将设置为空字符串

以后是否可以将wxTE_密码样式设置为pwdTxt?如果可能的话,我怎么做

我读了wx.chm,它说

“请注意,在wxMSW和wxGTK上创建控件后,可以动态更改对齐样式(wxTE_左、wxTE_中和wxTE_右)。wxTE_只读、wxTE_密码和包装样式可以在wxGTK下动态更改,但不能在wxMSW下动态更改。其他样式只能在控件创建期间设置。”


我使用wxWidgets 2.9.3在MS Windows上编写应用程序,以后在Windows上无法更改,因为Microsoft的控件不支持这一点。如果您确实需要,我建议您创建两个不同的控件,并显示/隐藏相应的控件。

您以后不能在Windows上更改它,因为Microsoft的控件不支持此操作。如果确实需要,我建议您创建两个不同的控件,并显示/隐藏相应的控件。

仅限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
}

仅限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
}