各位大虾:
    我在一个Dialog框中使用了一个Button(直接用控件面板中的Button生成的)
这个Button的ID为IDC_preHour,我想在程序中设定他在某种情况下可用,某种情况下不可用(为灰色),请问怎么做?谢谢大家

解决方案 »

  1.   

    GetDlgItem(IDC_preHour)->EnableWindow(FALSE);
      

  2.   

    显示的都是窗口
    所以窗口的处理函数的适用
    不仅是BUTTON其他也一样
      

  3.   

    一楼正解
    GetDlgItem(IDC_preHour)->EnableWindow(FALSE);
    GetDlgItem(IDC_preHour)->EnableWindow(true);
      

  4.   

    GetDlgItem(IDC_BUTTOTN)->EnableWIndow(FALSE)
      

  5.   

    microran2000(我的问题不容易回答)老兄似乎有点钻牛角尖了……
      

  6.   

    GetDlgItem(IDC_preHour)->EnableWindow(FALSE);
      

  7.   

    先谢谢大家,我想在CMyDoc中运用大家说的这个函数来设置一个对话框类CBdgd(IDD_DIALOG2)中的Button(IDC_preHour),这样可行吗?该怎么做?
      

  8.   

    ((CButton*)GetDlgItem("IDC_preHour"))->EnableWindow(FALSE);
    ((CButton*)GetDlgItem("IDC_preHour"))->EnableWindow(TRUE);
      

  9.   

    ((CButton*)GetDlgItem("IDC_BUTTON1"))->EnableWindow(FALSE);
      

  10.   

    To tonybaobao(Tony宝宝):
    兄弟并不是钻牛角尖,事实上仅仅靠设置按钮的属性来实现权限管理是不可靠的。比如说把一个安装程序,需要用户输入序列号,如果序列号正确的话,它就会把“下一步”按钮设置成允许,事实上调用Windows SDK函数EnableWindow(HWND hWnd,BOOL bEnable)就可以搞定。但是这种方法只能对付哪些只会使用计算机的初级用户。事实上屏幕上的几乎所有对象都是可以被其他进程访问的。另外一个进程很容易把这些按钮设置成允许,这样这些密码验证的代码势必是形同虚设。
    原则上应该通过代码来限制用户权限,仅仅把菜单或者控件设置成灰色禁止状态,达不到保护敏感资源不被访问的目的。
     可惜,一分没挣!