Fensterrand, Grösse?
-
Ich habe ein Feld von 8x8 Bitmaps die wie ein Schachbrett angeordnet werden. Wenn ich den Dialog erzeuge, will ich die Dimensionen des Dialogs so anpassen, dass alle Bitmaps sauber reinpassen. Das bestimmen dieser Dimensionen kriege ich aber nicht hin. Der Aufruf "MoveWindow(0,0,KartenGroesse*AnzahlElementeX,KartenGroesse*AnzahlElementeY)" in der OnInit() geht zwar, aber die letzte Reihe/Spalte passt nicht mehr ganz ins Fenster, da der Rahmen und das Menu nicht miteinbezogen wurden. Wenn man die Breite und die Höhe von Fensterrahmen, Menu und Titelleiste hätte, sollte es gehen.
Gibt es eine Funktion um diese Informationen zu erhalten?
mfg Thomas
-
ich glaube AdjustWindowRect.
-
Oder falls du direkt die Größenangaben bestimmter Elemente abrufen willst, kannst du GetSystemMetrics verwenden.
-
Mit AdjustWindowRect habe ich es nicht hingekriegt. Aber mit ein wenig Mahte geht es auch ohne:
CRect rcClient, rcWindow; GetWindowRect(rcWindow); GetClientRect(rcClient); int diff_x = (rcWindow.right - rcWindow.left) - rcClient.right; int diff_y = (rcWindow.bottom - rcWindow.top) - rcClient.bottom; MoveWindow(0, 0, GewuenschteGroesseX + diff_x, GewuenschteGroesseY + diff_y);
Gruss Thomas