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(...)
Foi útil?

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(...)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top