程序里面要用到“按钮1”和“按钮2”两个按钮,现在我想让刚开始的时候“按纽2”为不可用(灰色)状态,当点击“按钮1”执行完相应的函数后才激活“按钮2”,请问我该在“按钮1”的执行函数里面加些什么东西,然后怎么样设置“按钮2”的属性才能实现我的目的呢?
    谢谢GS们!

解决方案 »

  1.   

    GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);
    GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
      

  2.   

    GetDlgItem(IDC_DATA_MID)->EnableWindow(TRUE);--激活
    GetDlgItem(IDC_DATA_MID)->EnableWindow(FALSE);--变灰
      

  3.   

    如果是mfc的话,可以这样
    在dlg的OnInitDialog()中
    GetDlgItem(按钮2的ID)->EnableWindow(false);//失效
    在按钮1函数的末尾处
    GetDlgItem(按钮2的ID)->EnableWindow(true);//激活
      

  4.   

    我建的工程是基于菜单的,GetDlgItem(按钮2的ID)->EnableWindow(false);应该加在什么地方呢?
      

  5.   

    GetDlgItem(IDC_DATA_MID)->EnableWindow(TRUE);--激活 
    GetDlgItem(IDC_DATA_MID)->EnableWindow(FALSE);--变灰
      

  6.   

    是啊,这个问题确实比较简单。上面人家都说了好多遍了,我就不再打出来了呀。
    当然也可以直接用::EnableWindow( HANDLE Window,Int CmdTarg );这个全局API参数大致是这样的,前面那个参数表示要设置状态的窗口的句柄(也有可能是ID,不是很清楚了,没查。),后面那个是显示状态。True为显示可用,False为禁用变灰色。
      

  7.   

    另外可以生成ON_UPDATE_COMMAND_UI消息处理函数
    设置判断,在按钮1改变后,改变判断值通过判断值知道是否要UPDATE_COMMAND_UIIsStart做判断void CView::OnUpdateStart(CCmdUI *pCmdUI)
    {
    // TODO: 在此添加命令更新用户界面处理程序代码
    if(IsStart)
    pCmdUI->Enable(TREU);
    else
    pCmdUI->Enable(FALSE);
    }
      

  8.   

    另外要注意的是://使菜单项可改
    m_bAutoMenuEnable = FALSE;在框架类的构造函数里改