如题通过GetClientRect只能得到0,0点的矩形范围,我想知道一个控件在其父窗口中的位置怎么能得到啊?

解决方案 »

  1.   


    CRect rect;
    ::GetWindowRect (GetDlgItem(IDC_EDIT1)->m_hWnd, rect);
    ScreenToClient (rect);
      

  2.   

    解决了我的使用环境是这样的在对象A中想获得A在其父亲中的位置。上面的代码和GetClientRect的效果一样。
    不是在对话框里,而是在控件内部自己取得的。上述代码需要做些修改CRect rect;
    GetWindowRect (rect);
    GetParent()->ScreenToClient (rect);
    谢谢了!
      

  3.   

    CRect GetWndPositionInParent( CWnd *pWnd )
    {
    CRect WndRect; if( pWnd == NULL ) return WndRect; CWnd *pParent = pWnd->GetParent(); if( pParent == NULL ) return WndRect; pWnd->GetWindowRect(WndRect);
    pParent->ScreenToClient(WndRect); return WndRect;
    }