Win32 / MFC从客户端rect获取窗口rect

我知道有一个函数可以接受客户端matrix,并将它转换为一个窗口矩形。 我只是找不到/记住它!

有谁知道它是什么?

它会做类似的事情:

const CRect client(0, 0, 200, 200); const CRect window = ClientRectToWindowRect(client); SetWindowPos(...) 

你可能在考虑AdjustWindowRectEx() 。 请记住,这是为了在创建窗口时使用 – 不能保证它会为现有窗口生成一组精确的窗口尺寸; 为此,使用GetWindowRect()

这是你想要的?

ClientToScreen

http://msdn.microsoft.com/en-us/library/ms532670(VS.85).aspx

如果您想将客户坐标映射到窗口坐标,请使用ClientToWindow API。

如果要将客户坐标映射到屏幕坐标,请使用ClientToScreen API。

用于控制复位使用:

 RECT client; ::SetRect(&client, 0, 0, 200, 200); ::MapWindowPoints(hwndControl, ::GetParent(hwndControl), (POINT*)&client, 2); ::SetWindowPos(...)