From baec5e04b435e9a90638a729d446dc31ed00b80b Mon Sep 17 00:00:00 2001 From: and3md Date: Sun, 25 Jun 2017 15:45:14 +0200 Subject: [PATCH] Support window resize/add scrollbars when content is too big on win32. --- src/dlangui/platforms/windows/winapp.d | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/dlangui/platforms/windows/winapp.d b/src/dlangui/platforms/windows/winapp.d index a741db4f..2eda59c6 100644 --- a/src/dlangui/platforms/windows/winapp.d +++ b/src/dlangui/platforms/windows/winapp.d @@ -432,17 +432,13 @@ class Win32Window : Window { _mainWidget = new Widget(); } ReleaseCapture(); - if (!(_flags & WindowFlag.Resizable) && _mainWidget) { + + if (_mainWidget) { _mainWidget.measure(SIZE_UNSPECIFIED, SIZE_UNSPECIFIED); - int dx = _mainWidget.measuredWidth; - int dy = _mainWidget.measuredHeight; - dx += 2 * GetSystemMetrics(SM_CXDLGFRAME); - dy += GetSystemMetrics(SM_CYCAPTION) + 2 * GetSystemMetrics(SM_CYDLGFRAME); - // TODO: ensure size less than screen size - SetWindowPos(_hwnd, HWND_TOP, 0, 0, dx, dy, SWP_NOMOVE| SWP_SHOWWINDOW); - } else { - ShowWindow(_hwnd, SW_SHOWNORMAL); + adjustWindowOrContentSize(_mainWidget.measuredWidth, _mainWidget.measuredHeight); } + + ShowWindow(_hwnd, SW_SHOWNORMAL); if (_mainWidget) _mainWidget.setFocus(); SetFocus(_hwnd);