ActiveX 事件、窗口相关的有关问题

ActiveX 事件、窗口相关的问题
创建:
pCtrl->Create(_T(""), WS_VISIBLE | WS_TABSTOP | WS_CLIPSIBLINGS, CRect(0, 0, 50, 50), this, 10001);
在一个view上动态创建了多个控件,类型不一样

获得当前鼠标处的控件:
CRect rect;
CWnd* pWnd = GetTopWindow();              //顶层窗口
while (pWnd != NULL)                      //不为空
{
pWnd->GetWindowRect(&rect);
if (rect.PtInRect(cPoint))
{
break;                               //中断
}
else
{
pWnd = GetNextWindow(GW_HWNDNEXT);   //下一层窗口
}
}

return pWnd;
这里为什么只能得到顶层次句柄,也就是说GetNextWindow(GW_HWNDNEXT);得不到????为什么

还有,当我点击一个控件时,为什么他不触发WM_SETFOCUS, 其它的不触发WM_KILLFOCUS??

请指教,谢谢大家

------解决方案--------------------
用GetWindow比较好,GetNextWindow是同级别的遍历吧?