Domanda

So che esiste una funzione da qualche parte che accetterà un rect client e lo convertirà in un rect finestra per te. Non riesco proprio a trovarlo / ricordarlo!

Qualcuno sa di cosa si tratta?

Farà qualcosa di simile a:

const CRect client(0, 0, 200, 200);
const CRect window = ClientRectToWindowRect(client);
SetWindowPos(...)
È stato utile?

Soluzione

Probabilmente stai pensando a AdjustWindowRectEx ( ) . Tieni presente che questo è destinato all'uso durante la creazione di una finestra: non esiste alcuna garanzia che produrrà un insieme accurato di dimensioni della finestra per una finestra esistente; per questo, usa GetWindowRect () .

Altri suggerimenti

È questo quello che stai cercando?

ClientToScreen

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

Se si desidera mappare le coordinate del client alle coordinate della finestra, utilizzare l'API ClientToWindow .

Se si desidera mappare le coordinate del client allo schermo delle coordinate, utilizzare l'API ClientToScreen .

Per riposizionare il controllo usare:

RECT client;
::SetRect(&client, 0, 0, 200, 200);
::MapWindowPoints(hwndControl, ::GetParent(hwndControl), (POINT*)&client, 2);
::SetWindowPos(...)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top