如何取得桌面窗口矩形大小?mfc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何取得桌面窗口矩形大小?mfc相关的知识,希望对你有一定的参考价值。

参考技术A GetWindowRect(hWnd,
&rect);
hWnd是桌面
窗口句柄
,rect就是你要的矩形
用这几句获取桌面所有窗口句柄:
HWND
hWnd
=
::GetDesktopWindow();
hWnd
=
::GetWindow(hWnd,
GW_CHILD);
while(hWnd

hWnd
=
::GetWindow(hWnd,
GW_HWNDNEXT);


这几句得到
鼠标
所在窗口句柄:
GetCursorPos(&ptMouse);
hWnd
=
::WindowFromPoint(ptMouse);
while(::GetParent(hWnd)
!=
DeskHwnd
&&
hWnd
!=
DeskHwnd
&&
::GetParent(hWnd)
!=NULL)

hWnd
=
::GetParent(hWnd);

MFC设置控件和窗口位置

一。控件

CRect rect;//矩形
m_pic.GetWindowRect(rect); //得到控件矩形信息
m_pic.MoveWindow(0, 0, SavedImage.cols, SavedImage.rows); //设置控件位置(相对于客户区), 大小

 

二。窗口

1 CWnd* pWnd1 = GetDlgItem(IDD_MFC_OPENCV_DIALOG);//获得句柄

2 SetWindowPos(pWnd1, x, y, SavedImage.cols+15, SavedImage.rows+58, SWP_SHOWWINDOW);//设置窗口位置,大小
  GetWindowRect(rect); //得到窗口位置,大小

 

以上是关于如何取得桌面窗口矩形大小?mfc的主要内容,如果未能解决你的问题,请参考以下文章

MFC设置控件和窗口位置

mfc 窗口大小变化时,如何让窗口内部控件也一起随比例改变位置?

如何使用 MFC 处理单独的窗口?

Win32/MFC 从客户端矩形获取窗口矩形

如何将图形保持在主窗口的中心

MFC如何改变窗口大小??