CWnd::ChildWindowFromPoint
更新 : 2007 年 11 月
CWnd に属する子ウィンドウがあるときに、指定した点がその子ウィンドウ内にあるかを調べます。
CWnd* ChildWindowFromPoint(
POINT point
) const;
CWnd* ChildWindowFromPoint(
POINT point,
UINT nFlags
) const;
パラメータ
point
調べる点のクライアント座標を指定します。nflags
どの子ウィンドウを調査対象からはずすかを指定します。このパラメータには、次の値を組み合わせて指定できます。値
説明
CWP_ALL
すべての子ウィンドウを調査します。
CWP_SKIPINVISIBLE
非表示状態の子ウィンドウをスキップします。
CWP_SKIPDISABLED
無効になっている子ウィンドウをスキップします。
CWP_SKIPTRANSPARENT
透過的な子ウィンドウをスキップします。
戻り値
指定された点を含む子ウィンドウを識別するポインタを返します。指定された点がクライアント領域の外側にある場合は NULL を返します。指定された点がクライアント領域内にあってもいずれの子ウィンドウ内にない場合は、CWnd を返します。
指定された点を含む子ウィンドウが非表示状態の場合、アクティブでない場合は、その子ウィンドウを返します。
複数のウィンドウに指定された点が含まれる場合があります。ただし、この関数は、指定された点を含むウィンドウで最初に表示されたウィンドウの CWnd* だけを返します。
返される CWnd* は一時的なポインタです。後で使用するために格納しておくことはできません。
使用例
void CMyDlg::OnFindCenterChild()
{
CRect rect;
GetClientRect(&rect);
CWnd* pWnd = ChildWindowFromPoint(
CPoint(rect.Width()/2, rect.Height()/2),
// Top left is always 0, 0.
CWP_SKIPINVISIBLE);
TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}
必要条件
ヘッダー : afxwin.h