VB中设置 Form.Enabled=False 后,窗体(包括窗体上的控件)停止对用户的响应,这在进行一些设置操作或计算的时候很有用,计算开始前使 Form.Enabled=False,计算完成后再使 Form.Enabled=True. 请问在VC中怎么实现?

解决方案 »

  1.   

    CDialog dlg;
    dlg.domoudle();//隐藏
    dlg.ShowWindow(SW_HIDE);//显示
    dlg.ShowWindow(SW_SHOW);
      

  2.   

    to 天上来客:ShowWindow(SW_HIDE);只是隐藏啊,我希望的是窗体还显示,但不响应用户的鼠标、键盘等输入。
    你可以试试在 VB 里设置 Form 的 Enabled 属性为 False , 看看效果。
      

  3.   

    GetDlgItem(IDC_DTP_TIME)->EnableWindow(FALSE);
      

  4.   

    EnableWindow(m_hwnd,1);为响应
    EnableWindow(m_hwnd,0);为不响应
      

  5.   

    那你可以添加个变量bEnabled = true;在需要的时候设置为false覆盖PreTranslateMessage函数判断如果bEnabled = false时不执行基类的函数
      

  6.   

    问题解决得痛快,结贴也痛快!over.