Шаг 127 - CWnd::ChildWindowFromPoint

CWnd* ChildWindowFromPoint( POINT point ) const;
CWnd* ChildWindowFromPoint( POINT point, UINT nFlags ) const;

Возвращаемое значение
Идентифицирует дочернее окно, которое находиться в точке. NULL если данная точка находится вне клиентской области. Если отметка - внутри клиентской области, но не содержится внутри любого дочернего окна, CWnd возвращен.
Этот метод возвратит скрытое или заблокированное дочернее окно, которое находиться в определенной точке.
Больше чем одно окно можент находиться в данной точке. Однако, эта функция вернет только CWnd* первого окна, с которым сталкивается в данной точке. CWnd*, который возвращен, может быть временный и не должен быть сохранен для более позднего использования.

Параметры
point
Определяет клиентские координаты точки, которая будет проверена.
nflags
Определяет которые дочерние окна пропустить. Этот параметр может быть комбинация следующих значений:

Замечания
Определяет, какое из дочерних окон, принадлежащих к 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);
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.