求救:使用Edit控件的SetPasswordChar方法后控件无反应

snto 2006-11-02 01:08:05
void CMyDlg::OnHidden()
{
if(IsDlgButtonChecked(IDC_HIDDEN))
c_RESULT.SetPasswordChar(42); //"*"字符
else
c_RESULT.SetPasswordChar(0); //恢复
/*c_RESULT.UpdateDialogControls;
c_RESULT.FlashWindow;
c_RESULT.SetFocus;*/
//UpdateData(true);
//c_RESULT.SetFocus;
//UpdateData(false);
}

c_RESULT是Edit控件的Control变量,要求Edit控件调用SetPasswordChar方法后直接显示"*",而现在问题是鼠标再次点击控件后内容才变成*(获取焦点?),不知道如何解决!
...全文
431 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
snto 2006-11-02
  • 打赏
  • 举报
回复
谢谢各位的帮助,呵呵,原来SetFocus忘记打()了,我说怎么无法设置焦点。
happyness44 2006-11-02
  • 打赏
  • 举报
回复
把Edit控件的styple属性直接设成password就行

c_RESULT.modifystyle(NULL,ES_PASSWORD ,0)

不需要的时候再去掉

c_RESULT.modifystyle(ES_PASSWORD ,NULL,0)
折腾_苏州 2006-11-02
  • 打赏
  • 举报
回复
SetPasswordChar之后,用
c_RESULT.SetFocus();
或者c_RESULT.Invalidate();
都可以

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧