Frage

Ich weiß, es ist eine Funktion irgendwo, dass ein Client-rect akzeptiert und wird es in ein Fenster rect für Sie konvertieren. Ich kann einfach nicht finden / daran erinnern!

Wer weiß, was es ist?

Es wird etwas tun, ähnlich wie:

const CRect client(0, 0, 200, 200);
const CRect window = ClientRectToWindowRect(client);
SetWindowPos(...)
War es hilfreich?

Lösung

Sie denken vermutlich von AdjustWindowRectEx() . Denken Sie daran, dies ist für die Verwendung bei den Erstellen ein Fenster - es gibt keine Garantie, dass es einen genauen Satz von Fensterabmessungen für ein vorhandenes Fenster zu erzeugen; GetWindowRect() .

Andere Tipps

Wenn Sie die Client-Koordinaten zu Fenster-Koordinaten abbilden möchten verwenden Sie die ClientToWindow API.

Wenn Sie Client-Koordinaten abbilden Koordinaten verwenden Sie die ClientToScreen API zu screenen.

Für die Steuerung neu zu positionieren Verwendung:

RECT client;
::SetRect(&client, 0, 0, 200, 200);
::MapWindowPoints(hwndControl, ::GetParent(hwndControl), (POINT*)&client, 2);
::SetWindowPos(...)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top