MFC中用FindWindow得到一个窗口句柄后怎样利用这个句柄访问这个窗口的其他控件的变量

解决方案 »

  1.   

    首先,lz 可以理解一下“控件的变量”其实,这个变量就是 MFC 中封装了一下 HWND 之类的抛开变量,直接用 HWND 即可获取子控件的 HWND,可以用 GetDlgItem,FindWindowEx 或 EnumWindow 之类的
      

  2.   

    你用FindWindow获得了一个窗口句柄hwnd,void FindAllChildWnd(HWND hwnd)
    {
    HWND hwndChild = ::GetWindow(hwnd, GW_CHILD);
    if (NULL == hwndChild)
    {
    return;
    }

    do 
    {
                    //获取了子窗口句柄,可进行相应的处理
    FindAllChildWnd(hwndChild);//递归查找子窗口
    } while (hwndChild = ::GetWindow(hwnd, GW_HWNDNEXT));
    }
      

  3.   

    应该是 while (hwndChild = ::GetWindow(hwndChild, GW_HWNDNEXT));