void CPasswordDlg::OnChangeEditpass() 
{        UpdateData();
m_strShowPass=m_strPassword;
UpdateData(FALSE);
        
if(m_ButtonCheck.GetCheck())
  GetDlgItem(IDC_EDITSHOWPASS)->ShowWindow(SW_SHOW);

  
if(!m_ButtonCheck.GetCheck())
                   GetDlgItem(IDC_EDITSHOWPASS)->ShowWindow(SW_HIDE);
}我要实现的是 选中 显示...
要不屏蔽...一开始默认为屏蔽...但现在 貌似选中 还要在编辑框输入一个数才显示...

解决方案 »

  1.   

    那你要使用CEdit里面的一些成员了,好像是SetSel吧,try。
      

  2.   

    OnChangeEditpass() 响应的是EN_CHANGE消息吧?Edit里的内容要发生改变才会执行。选中不能调用OnChange
      

  3.   

    m_ButtonCheck是个复选框?选中显示IDC_EDITSHOWPASS,不选中显示IDC_EDITSHOWPASS????
    如果这样就简单多了,相应m_ButtonCheck控件的点击事件,
    GetDlgItem(IDC_EDITSHOWPASS)->ShowWindow(m_ButtonCheck.GetCheck()?SW_SHOW:SW_HIDE);
    没有考虑m_ButtonCheck为3态的
      

  4.   

    OnChangeEditpass() 响应的是EN_CHANGE消息吧?Edit里的内容要发生改变才会执行。选中不能调用OnChange...问题是怎么实现选中 就 出现...谢谢回答...
      

  5.   

    用UpdateWindow试试,可能没有刷新Edit吧
      

  6.   

    我的意思是你想响应的“选中”这个消息不是edit的EN_CHANGE消息吧,不知道我理解的对不对,你是不是要选中复选框时显示password的Edit控件?如果这样的话你应该把你的代码放到正确的消息响应函数里。是CheckBox的话响应BN_CLICKED消息,函数应该是类似OnBNClickedCheck(),如果edit内容没刷新的话可以试试UpdateWindow,正常情况你的代码应该没问题。
      

  7.   

    OnChangeEditpass() 响应的是EN_CHANGE消息吧?Edit里的内容要发生改变才会执行。选中不能调用OnChange ...问题是怎么实现选中 就 出现...谢谢回答...
    ........饿...无语ing..~怎么样才能 选中复选框让 编辑框显示...
      

  8.   

    sorry...没看见回贴.....每次得刷新...玉米了...老忘@~为什么 csdn 不设置 进来就看见最新的啊
      

  9.   

    谢谢 wiowei  了..终于了解了些 ..