使用EnableWindow( TRUE/FALSE )

解决方案 »

  1.   

    GetDlgItem(ID_CTLID)->EnableWindow(TRUE/FALSE)
      

  2.   

    // CMyFileDialog is a CFileDialog-derived class.
    // OnInitDialog is the handler for WM_INITDIALOG.
    BOOL CMyFileDialog::OnInitDialog() 
    {
      CFileDialog::OnInitDialog();  CWnd* pWndParent = GetParent();  // Make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'.
      // Disables the 'file name' edit and static control
      // of the standard file open dialog.  //Get handle of 'file name' edit control & disable it.
      CWnd* pWnd = pWndParent->GetDlgItem(edt1);
      pWnd->EnableWindow(FALSE);  // Get handle of 'file name' static control & disable it.
      pWnd = pWndParent->GetDlgItem(stc3);
      pWnd->EnableWindow(FALSE);
      
      return TRUE;
    }
      

  3.   

    GetDlgItem(ID_CTLID)->EnableWindow(TRUE/FALSE)
      

  4.   

    void CMsrisView::OnSelchangestatus() 
    {
    // TODO: Add your control notification handler code here
    UpdateData(true);
    if (m_status=="1"){  //m_status为下拉框变量
      GetDlgItem(IDC_status1)->EnableWindow(true);
      }else{
      GetDlgItem(IDC_status1)->EnableWindow(false);
      }
    }
    这段代码,可以实现变灰功能,
    但是只能当我选择1的时改变选项,才能变或不变灰,
    而我需要的是我一选择1,就变灰或不变灰,怎么才能实现???
      

  5.   

    声明一个全局变量或者类成员变量,每次和1进行XOR运算就行,比入运行第一次是1,下次为0 这样来回就行了
      

  6.   

    就是呀,声明一个变量,在选择1时是之变化成灰,不选择时不变灰。
    int status;//在头文件中声明UpdateData(false);
    if (status=="1"){ 
      GetDlgItem(IDC_status1)->EnableWindow(true);
      }else{
      GetDlgItem(IDC_status1)->EnableWindow(false);
      }
    UpdateData(true);其中status是与你窗口中的控件相对应的!!