MFC中一个小技巧---获取窗口所有的同类控件

今天在别人博客下偶然看到一个MFC小技巧,转载一下

原文 http://www.cppblog.com/vliuchao/archive/2008/12/24/70276.html


最近写一个小的工具,用到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有时还是比较有意思的哦!

猜你喜欢

转载自blog.csdn.net/qq_28086637/article/details/73502605