Win32 / MFC Obtener ventana rect del cliente rect
Pregunta
Sé que hay una función en algún lugar que aceptará un cliente rect y la convertirá en una ventana rect para usted. ¡Simplemente no puedo encontrarlo / recordarlo!
¿Alguien sabe qué es?
Hará algo similar a:
const CRect client(0, 0, 200, 200);
const CRect window = ClientRectToWindowRect(client);
SetWindowPos(...)
Solución
Probablemente esté pensando en AdjustWindowRectEx ( )
. Tenga en cuenta que esto está destinado a usarse cuando crea una ventana; no hay garantía de que produzca un conjunto preciso de dimensiones de ventana para una ventana existente; para eso, use GetWindowRect ()
.
Otros consejos
¿Es esto lo que estás buscando?
ClientToScreen
http://msdn.microsoft.com/ es-es / biblioteca / ms532670 (VS.85) .aspx
Si desea asignar coordenadas de cliente a coordenadas de ventana, utilice la API ClientToWindow .
Si desea asignar coordenadas de cliente a coordenadas de pantalla, utilice la API ClientToScreen .
Para el uso de reposicion de control:
RECT client;
::SetRect(&client, 0, 0, 200, 200);
::MapWindowPoints(hwndControl, ::GetParent(hwndControl), (POINT*)&client, 2);
::SetWindowPos(...)