summaryrefslogtreecommitdiffstatshomepage
path: root/form.go
diff options
context:
space:
mode:
Diffstat (limited to 'form.go')
-rw-r--r--form.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/form.go b/form.go
index 6b7e3e0c..ba4cdda2 100644
--- a/form.go
+++ b/form.go
@@ -683,8 +683,8 @@ func (fb *FormBase) WndProc(hwnd win.HWND, msg uint32, wParam, lParam uintptr) u
}
mmi.PtMinTrackSize = win.POINT{
- int32(maxi(min.Width, fb.minSize.Width)),
- int32(maxi(min.Height, fb.minSize.Height)),
+ int32(fb.intFrom96DPI(maxi(min.Width, fb.minSize.Width))),
+ int32(fb.intFrom96DPI(maxi(min.Height, fb.minSize.Height))),
}
return 0
@@ -704,6 +704,16 @@ func (fb *FormBase) WndProc(hwnd win.HWND, msg uint32, wParam, lParam uintptr) u
case win.WM_SIZE:
fb.clientComposite.SetBounds(fb.window.ClientBounds())
+ case win.WM_DPICHANGED:
+ wasSuspended := fb.Suspended()
+ fb.SetSuspended(true)
+ defer fb.SetSuspended(wasSuspended)
+
+ rc := (*win.RECT)(unsafe.Pointer(lParam))
+ fb.window.SetBounds(rectangleFromRECT(*rc))
+
+ fb.applyFont(fb.Font())
+
case win.WM_SYSCOMMAND:
if wParam == win.SC_CLOSE {
fb.closeReason = CloseReasonUser