From f841ac2d228811d6a29a888ea58cf1350268aa33 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 3 Sep 2018 15:46:01 +0000 Subject: [PATCH] CtrlLib: Various UHD fixes git-svn-id: svn://ultimatepp.org/upp/trunk@12239 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlLib/ChWin32.cpp | 24 ++++++++++++++---------- uppsrc/CtrlLib/ScrollBar.cpp | 4 ++-- uppsrc/CtrlLib/StatusBar.cpp | 2 +- uppsrc/CtrlLib/TabCtrl.cpp | 5 +++-- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/uppsrc/CtrlLib/ChWin32.cpp b/uppsrc/CtrlLib/ChWin32.cpp index 173ae463f..4d5621281 100644 --- a/uppsrc/CtrlLib/ChWin32.cpp +++ b/uppsrc/CtrlLib/ChWin32.cpp @@ -596,17 +596,21 @@ void ChSysInit() ChReset(); XpClear(); - - HRESULT (STDAPICALLTYPE *SetProcessDpiAwareness)(int); - DllFn(SetProcessDpiAwareness, "Shcore.dll", "SetProcessDpiAwareness"); - if(SetProcessDpiAwareness) - SetProcessDpiAwareness(1); - else { - BOOL (STDAPICALLTYPE * SetProcessDPIAware)(void); - DllFn(SetProcessDPIAware, "User32.dll", "SetProcessDPIAware"); - if(SetProcessDPIAware && Ctrl::IsUHDEnabled()) - (*SetProcessDPIAware)(); + DLOG("ChSysInit"); + DDUMP(Ctrl::IsUHDEnabled()); + if(Ctrl::IsUHDEnabled()) { + HRESULT (STDAPICALLTYPE *SetProcessDpiAwareness)(int); + DllFn(SetProcessDpiAwareness, "Shcore.dll", "SetProcessDpiAwareness"); + if(SetProcessDpiAwareness) + SetProcessDpiAwareness(1); + else { + BOOL (STDAPICALLTYPE * SetProcessDPIAware)(void); + DllFn(SetProcessDPIAware, "User32.dll", "SetProcessDPIAware"); + if(SetProcessDPIAware) + (*SetProcessDPIAware)(); + } } + NONCLIENTMETRICS ncm; #if (WINVER >= 0x0600 && !defined(__MINGW32_VERSION)) ncm.cbSize = sizeof(ncm) - sizeof(ncm.iPaddedBorderWidth); // WinXP does not like it... diff --git a/uppsrc/CtrlLib/ScrollBar.cpp b/uppsrc/CtrlLib/ScrollBar.cpp index 9a430fd33..12460830d 100644 --- a/uppsrc/CtrlLib/ScrollBar.cpp +++ b/uppsrc/CtrlLib/ScrollBar.cpp @@ -616,9 +616,9 @@ void SizeGrip::Paint(Draw& w) SizeGrip::SizeGrip() { Transparent(); - RightPos(0, 12).BottomPos(0, 12); + RightPos(0, DPI(12)).BottomPos(0, DPI(12)); NoWantFocus(); - Width(14); + Width(DPI(14)); } SizeGrip::~SizeGrip() {} diff --git a/uppsrc/CtrlLib/StatusBar.cpp b/uppsrc/CtrlLib/StatusBar.cpp index 0f6073385..4057d998d 100644 --- a/uppsrc/CtrlLib/StatusBar.cpp +++ b/uppsrc/CtrlLib/StatusBar.cpp @@ -230,7 +230,7 @@ void StatusBar::TopFrame::FrameAddSize(Size& sz) StatusBar::StatusBar() { - Height(5 + max(16, Draw::GetStdFontCy())); + Height(Zy(5) + max(16, Draw::GetStdFontCy())); frame.style = &StyleDefault(); SetFrame(frame); AddFrame(grip); diff --git a/uppsrc/CtrlLib/TabCtrl.cpp b/uppsrc/CtrlLib/TabCtrl.cpp index 1a0acb302..764c583a5 100644 --- a/uppsrc/CtrlLib/TabCtrl.cpp +++ b/uppsrc/CtrlLib/TabCtrl.cpp @@ -140,8 +140,9 @@ void TabCtrl::Layout() ScrollInto(sel); pane.VSizePos(style->tabheight + style->edge.top, style->edge.bottom) .HSizePos(style->edge.left, style->edge.right); - left.LeftPos(0, 16).TopPos(th - 16, 16); - right.RightPos(0, 16).TopPos(th - 16, 16); + int sx = DPI(16); + left.LeftPos(0, sx).TopPos(th - sx, sx); + right.RightPos(0, sx).TopPos(th - sx, sx); SyncTabs(); Refresh(); }