Win32 / MFC janela Get rect de rect cliente
Pergunta
Eu sei que há um algum lugar função que irá aceitar um rect cliente e que irá convertê-lo em um rect janela para você. Eu simplesmente não consigo encontrar / lembrar!
Alguém sabe o que é?
Ele vai fazer algo semelhante a:
const CRect client(0, 0, 200, 200);
const CRect window = ClientRectToWindowRect(client);
SetWindowPos(...)
Solução
Você está provavelmente pensando em AdjustWindowRectEx()
. Tenha em mente, este é destinado para uso quando criar uma janela - não há nenhuma garantia de que ele irá produzir um conjunto preciso de tamanho da janela de uma janela existente; para isso, use GetWindowRect()
.
Outras dicas
É isso que você está procurando?
ClientToScreen
http://msdn.microsoft.com/ en-us / library / ms532670 (VS.85) .aspx
Se você deseja mapear cliente coordenadas para a janela coordenadas usar o ClientToWindow API.
Se você deseja mapear cliente coordenadas para a tela coordenadas usar o ClientToScreen API.
Para uso reposição de controle:
RECT client;
::SetRect(&client, 0, 0, 200, 200);
::MapWindowPoints(hwndControl, ::GetParent(hwndControl), (POINT*)&client, 2);
::SetWindowPos(...)