MFC中一个小技巧---获取窗口所有的同类控件
今天在别人博客下偶然看到一个MFC小技巧,转载一下
最近写一个小的工具,用到MFC做界面,窗口中有很多Edit控件,来处理用户的输入值,在初始状态是不可见的,按下Button应该有一个响应显示所有Edit控件,刚开始的时候想直接调用 ShowWindow了事,可是实在是控件太多了哦,一个一个写确实很麻烦哦,不知道有什么好方法,问了一下非哥,想不到真的有一种好的方法可以解决这样的需求,非哥不愧为MFC活化石
CWnd *pWnd = this->GetWindow( GW_CHILD ); while( pWnd ) { if( pWnd->IsKindOf( RUNTIME_CLASS(CEdit) ) ) pWnd->ShowWindow(SW_SHOW); pWnd = pWnd->GetWindow( GW_HWNDNEXT ); }
上面的代码实现了显示窗口中所有的CEdit控件,先是获取当前窗口的子窗口,在判断是否是CEdit类的实例, ShowWindow,在得到子窗口的兄弟节点,哎!MFC有时还是比较有意思的哦!