如何让某个对话框上的所有控件都变为无效?
不要一个一个设,让它们一起“失效”,和一起“可用”

解决方案 »

  1.   

    Disable整个窗口。
    EnableWindow(hwnd,FALSE);
      

  2.   

    那你一个一个控件enablewindow吧
      

  3.   

    在对话框类中调用EnableWindow(FALSE);
      

  4.   

    To:lonely001(独行客)
    不光让它们都不能用,而且要变灰,让人能看得出来
    EnableWindow(hwnd,FALSE);是可以让它们不能用,但是颜色没有变灰。
    如何能让它们显现出Disable的效果。
      

  5.   

    我写了一个:BOOL CALLBACK EnumChildProc(HWND hwnd,  LPARAM lParam)
    {
    EnableWindow(hwnd,(BOOL)lParam);
    return TRUE;
    }void EnableAllChild(HWND hParent,BOOL bEnable)
    {
    EnumChildWindows(hParent,EnumChildProc,(LPARAM)bEnable);
    }使用方法:EnableAllChild(Dialog->m_hWnd,FALSE);
      

  6.   

    用EnumChildWindows枚举子窗体,在回调函数中为各个子窗体调用EnableWindow
      

  7.   

    如果是这样的话,只能一个个的遍历了
    其实也很快啊,建立一个控件ID数组,循环一遍就OK了
    或者EnumChildWindows也是可行的啊
    没有捷径了
      

  8.   


    FindWIndow EanbledWindow(hwnd,false)