有时候想让对话框中所有的控件都可用或不可用时就可以用下面的代码。
//全部禁用
CWnd *pWnd = this->GetWindow( GW_CHILD );
while( pWnd )
{
pWnd->EnableWindow(FALSE); //这里可以改为做其它的操作
pWnd = pWnd->GetWindow( GW_HWNDNEXT );
}
百度百科中对GetWindow()中GW_CHILD 的解释:
GW_CHILD:如果指定窗口是父窗口,则获得的是在Z序顶端的子窗口的句柄,否则为NULL。函数仅检查指定父窗口的子窗口,不检查继承窗口。
百度百科中对父窗口子窗口的解释:
每一个窗体form都是一个父窗口,它不是其他任一个窗体的子窗口.窗体上的所有控件,按钮等就是窗体的子窗口.一个窗口(除了窗体)既可能是父窗口,也可能是子窗口.比如窗体里面有一个frame,frame里面的控件就是frame的子窗口,但frame同时也是窗体的子窗口.就像容器里面装着容器.最大的那个容器就是窗体.每一个容器里面的东西就是其子窗口.
它的意思就是说子窗口就是指其控件