次の方法で共有


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

参照

参照

CWnd クラス

階層図

CWnd::WindowFromPoint

ChildWindowFromPoint

その他の技術情報

CWnd のメンバ