MFC-GetWindowRect获取指定窗口或控件的边框矩形的尺寸

发布时间 2023-04-14 12:17:59作者: 天子骄龙

 

    HWND hDlgWnd = ::FindWindow(_T("#32770"), _T("测试窗口"));
    if (hDlgWnd) {
        ::ShowWindow(hDlgWnd, SW_NORMAL);
        ::SetForegroundWindow(hDlgWnd);
        HWND hBtn = ::GetDlgItem(hDlgWnd, 0x3E8);
        CRect mRect;
        BOOL bb=::GetWindowRect(hBtn, &mRect);//获取指定窗口或控件的边框矩形的尺寸
        /*
        参数1:HWND hWnd  窗口句柄
        参数2:LPRECT lpRect  指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标
                left ;top; right;bottom;分别表示该窗口的/左侧/顶部/右侧/底部坐标
        返回值:如果函数成功,返回值为非零:如果函数失败,返回值为零
        尺寸以相对于屏幕左上角的屏幕坐标
        */
        
        CString str;
        str.Format(_T("mRect.left=%d\r\n"), mRect.left);
        ::OutputDebugString(str);
        str.Format(_T("mRect.top=%d\r\n"), mRect.top);
        ::OutputDebugString(str);
        str.Format(_T("mRect.right=%d\r\n"), mRect.right);
        ::OutputDebugString(str);
        str.Format(_T("mRect.bottom=%d\r\n"), mRect.bottom);
        ::OutputDebugString(str);

测试窗口下载:

链接:https://pan.baidu.com/s/1s_5xvRpTUZtQDKPZ_INSmQ
提取码:6666