CWnd* ChildWindowFromPoint( POINT point ) const;
CWnd* ChildWindowFromPoint( POINT point, UINT nFlags ) const;
Возвращаемое значение
Идентифицирует дочернее окно, которое находиться в точке. NULL если данная точка находится вне клиентской области. Если отметка - внутри клиентской области, но не содержится внутри любого дочернего окна, CWnd возвращен.
Этот метод возвратит скрытое или заблокированное дочернее окно, которое находиться в определенной точке.
Больше чем одно окно можент находиться в данной точке. Однако, эта функция вернет только CWnd* первого окна, с которым сталкивается в данной точке. CWnd*, который возвращен, может быть временный и не должен быть сохранен для более позднего использования.
Параметры
point
Определяет клиентские координаты точки, которая будет проверена.
nflags
Определяет которые дочерние окна пропустить. Этот параметр может быть комбинация следующих значений:
- CWP_ALL - Не пропускает никакие дочерние окна
- CWP_SKIPINVISIBLE - Пропускают невидимые дочерние окна
- CWP_SKIPDISABLED - Пропуск запрещенных дочерние окна
- CWP_SKIPTRANSPARENT - Пропускают transparent дочерние окна
Замечания
Определяет, какое из дочерних окон, принадлежащих к CWnd находиться в определенной точке.
Пример
void CMyDlg::OnFindCenterChild()
{
CRect rect;
GetClientRect(&rect);
CWnd* pWnd = ChildWindowFromPoint
(CPoint(rect.Width()/2, rect.Height()/2),
// Верхняя левая часть - всегда 0, 0.
CWP_SKIPINVISIBLE);
TRACE("Center window is 0x%08x\n", pWnd->m_hWnd);
}