mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-10 21:41:51 +02:00
Fix PowerRename UI doesn't handling DPI changes (#1424)
* Fix PowerRename UI doesn't handling DPI changes * Address PR comments * Address PR comments
This commit is contained in:
@@ -69,7 +69,7 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>WindowsApp.lib;Comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>WindowsApp.lib;Comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;shcore.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>WindowsApp.lib;Comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>WindowsApp.lib;Comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;shcore.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
<AdditionalIncludeDirectories>..\;..\..\..\common;..\..\..\common\telemetry;..\..\;..\..\..\;..\..\..\..\deps\cpprestsdk\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\;..\..\..\common;..\..\..\common\telemetry;..\..\;..\..\..\;..\..\..\..\deps\cpprestsdk\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameLib.lib;$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(SolutionDir)$(Platform)\$(Configuration)\..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameLib.lib;$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(SolutionDir)$(Platform)\$(Configuration)\..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;shcore.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ModuleDefinitionFile>PowerRenameExt.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>PowerRenameExt.def</ModuleDefinitionFile>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameLib.lib;$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(SolutionDir)$(Platform)\$(Configuration)\..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameLib.lib;$(SolutionDir)$(Platform)\$(Configuration)\PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(SolutionDir)$(Platform)\$(Configuration)\..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;shcore.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ModuleDefinitionFile>PowerRenameExt.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>PowerRenameExt.def</ModuleDefinitionFile>
|
||||||
<DelayLoadDLLs>gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;shlwapi.dll;oleaut32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
<DelayLoadDLLs>gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;shlwapi.dll;oleaut32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
@@ -103,6 +103,7 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
|
<Lib />
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@@ -140,6 +141,7 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
</Link>
|
</Link>
|
||||||
|
<Lib />
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Helpers.h" />
|
<ClInclude Include="Helpers.h" />
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(OutDir)PowerRenameLib.lib;$(OutDir)PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(OutDir)..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(OutDir)PowerRenameLib.lib;$(OutDir)PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(OutDir)..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;shlwapi.lib;shcore.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@@ -163,7 +163,7 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>$(OutDir)PowerRenameLib.lib;$(OutDir)PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(OutDir)..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>$(OutDir)PowerRenameLib.lib;$(OutDir)PowerRenameUI.lib;Pathcch.lib;comctl32.lib;$(OutDir)..\..\src\modules\powerrename\UI\$(Platform)\$(Configuration)\PowerRenameUI.res;shlwapi.lib;shcore.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<DelayLoadDLLs>gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;shlwapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
<DelayLoadDLLs>gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;shlwapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "PowerRenameUI.h"
|
#include "PowerRenameUI.h"
|
||||||
|
#include "dpi_aware.h"
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <Shlobj.h>
|
#include <Shlobj.h>
|
||||||
#include <helpers.h>
|
#include <helpers.h>
|
||||||
@@ -515,7 +516,7 @@ HRESULT CPowerRenameUI::_DoModal(__in_opt HWND hwnd)
|
|||||||
}
|
}
|
||||||
void CPowerRenameUI::BecomeForegroundWindow()
|
void CPowerRenameUI::BecomeForegroundWindow()
|
||||||
{
|
{
|
||||||
static INPUT i = {INPUT_MOUSE, {}};
|
static INPUT i = { INPUT_MOUSE, {} };
|
||||||
SendInput(1, &i, sizeof(i));
|
SendInput(1, &i, sizeof(i));
|
||||||
SetForegroundWindow(m_hwnd);
|
SetForegroundWindow(m_hwnd);
|
||||||
}
|
}
|
||||||
@@ -626,8 +627,14 @@ void CPowerRenameUI::_OnInitDlg()
|
|||||||
GetWindowRect(m_hwnd, &rc);
|
GetWindowRect(m_hwnd, &rc);
|
||||||
m_initialWidth = RECT_WIDTH(rc);
|
m_initialWidth = RECT_WIDTH(rc);
|
||||||
m_initialHeight = RECT_HEIGHT(rc);
|
m_initialHeight = RECT_HEIGHT(rc);
|
||||||
m_lastWidth = m_initialWidth;
|
|
||||||
m_lastHeight = m_initialHeight;
|
UINT dummy = 0;
|
||||||
|
DPIAware::GetScreenDPIForWindow(m_hwnd, m_initialDPI, dummy);
|
||||||
|
|
||||||
|
for (UINT u = 0; u < ARRAYSIZE(g_repositionMap); u++)
|
||||||
|
{
|
||||||
|
_CollectItemPosition(g_repositionMap[u].id);
|
||||||
|
}
|
||||||
|
|
||||||
_InitAutoComplete();
|
_InitAutoComplete();
|
||||||
|
|
||||||
@@ -759,25 +766,16 @@ void CPowerRenameUI::_OnSize(_In_ WPARAM wParam)
|
|||||||
{
|
{
|
||||||
if ((wParam == SIZE_RESTORED || wParam == SIZE_MAXIMIZED) && m_initialWidth)
|
if ((wParam == SIZE_RESTORED || wParam == SIZE_MAXIMIZED) && m_initialWidth)
|
||||||
{
|
{
|
||||||
// Calculate window size change delta
|
|
||||||
RECT rc = { 0 };
|
|
||||||
GetWindowRect(m_hwnd, &rc);
|
|
||||||
|
|
||||||
const int xDelta = RECT_WIDTH(rc) - m_lastWidth;
|
|
||||||
m_lastWidth += xDelta;
|
|
||||||
const int yDelta = RECT_HEIGHT(rc) - m_lastHeight;
|
|
||||||
m_lastHeight += yDelta;
|
|
||||||
|
|
||||||
for (UINT u = 0; u < ARRAYSIZE(g_repositionMap); u++)
|
for (UINT u = 0; u < ARRAYSIZE(g_repositionMap); u++)
|
||||||
{
|
{
|
||||||
_MoveControl(g_repositionMap[u].id, g_repositionMap[u].flags, xDelta, yDelta);
|
_MoveControl(g_repositionMap[u].id, g_repositionMap[u].flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_listview.OnSize();
|
m_listview.OnSize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPowerRenameUI::_MoveControl(_In_ DWORD id, _In_ DWORD repositionFlags, _In_ int xDelta, _In_ int yDelta)
|
void CPowerRenameUI::_MoveControl(_In_ DWORD id, _In_ DWORD repositionFlags)
|
||||||
{
|
{
|
||||||
HWND hwnd = GetDlgItem(m_hwnd, id);
|
HWND hwnd = GetDlgItem(m_hwnd, id);
|
||||||
|
|
||||||
@@ -791,40 +789,57 @@ void CPowerRenameUI::_MoveControl(_In_ DWORD id, _In_ DWORD repositionFlags, _In
|
|||||||
{
|
{
|
||||||
flags |= SWP_NOSIZE;
|
flags |= SWP_NOSIZE;
|
||||||
}
|
}
|
||||||
|
RECT rc = { 0 };
|
||||||
|
GetWindowRect(m_hwnd, &rc);
|
||||||
|
int mainWindowWidth = rc.right - rc.left;
|
||||||
|
int mainWindowHeight = rc.bottom - rc.top;
|
||||||
|
|
||||||
RECT rcWindow = { 0 };
|
RECT rcWindow = { 0 };
|
||||||
GetWindowRect(hwnd, &rcWindow);
|
GetWindowRect(hwnd, &rcWindow);
|
||||||
|
|
||||||
int cx = RECT_WIDTH(rcWindow);
|
|
||||||
int cy = RECT_HEIGHT(rcWindow);
|
|
||||||
|
|
||||||
MapWindowPoints(HWND_DESKTOP, GetParent(hwnd), (LPPOINT)&rcWindow, 2);
|
MapWindowPoints(HWND_DESKTOP, GetParent(hwnd), (LPPOINT)&rcWindow, 2);
|
||||||
|
|
||||||
int x = rcWindow.left;
|
int x = rcWindow.left;
|
||||||
int y = rcWindow.top;
|
int y = rcWindow.top;
|
||||||
|
int width = rcWindow.right - rcWindow.left;
|
||||||
|
int height = rcWindow.bottom - rcWindow.top;
|
||||||
|
|
||||||
if (repositionFlags & Reposition_X)
|
UINT currentDPI = 0, dummy;
|
||||||
|
DPIAware::GetScreenDPIForWindow(m_hwnd, currentDPI, dummy);
|
||||||
|
float scale = (float)currentDPI / m_initialDPI;
|
||||||
|
|
||||||
|
switch (id)
|
||||||
{
|
{
|
||||||
x += xDelta;
|
case IDC_EDIT_SEARCHFOR:
|
||||||
|
case IDC_EDIT_REPLACEWITH:
|
||||||
|
width = mainWindowWidth - static_cast<int>(m_itemsPositioning.searchReplaceWidthDiff * scale);
|
||||||
|
break;
|
||||||
|
case IDC_PREVIEWGROUP:
|
||||||
|
height = mainWindowHeight - static_cast<int>(m_itemsPositioning.previewGroupHeightDiff * scale);
|
||||||
|
case IDC_SEARCHREPLACEGROUP:
|
||||||
|
case IDC_OPTIONSGROUP:
|
||||||
|
width = mainWindowWidth - static_cast<int>(m_itemsPositioning.groupsWidthDiff * scale);
|
||||||
|
break;
|
||||||
|
case IDC_LIST_PREVIEW:
|
||||||
|
width = mainWindowWidth - static_cast<int>(m_itemsPositioning.listPreviewWidthDiff * scale);
|
||||||
|
height = mainWindowHeight - static_cast<int>(m_itemsPositioning.listPreviewHeightDiff * scale);
|
||||||
|
break;
|
||||||
|
case IDC_STATUS_MESSAGE:
|
||||||
|
y = mainWindowHeight - static_cast<int>(m_itemsPositioning.statusMessageYDiff * scale);
|
||||||
|
break;
|
||||||
|
case ID_RENAME:
|
||||||
|
x = mainWindowWidth - static_cast<int>(m_itemsPositioning.renameButtonXDiff * scale);
|
||||||
|
y = mainWindowHeight - static_cast<int>(m_itemsPositioning.renameButtonYDiff * scale);
|
||||||
|
break;
|
||||||
|
case ID_ABOUT:
|
||||||
|
x = mainWindowWidth - static_cast<int>(m_itemsPositioning.helpButtonXDiff * scale);
|
||||||
|
y = mainWindowHeight - static_cast<int>(m_itemsPositioning.helpButtonYDiff * scale);
|
||||||
|
break;
|
||||||
|
case IDCANCEL:
|
||||||
|
x = mainWindowWidth - static_cast<int>(m_itemsPositioning.cancelButtonXDiff * scale);
|
||||||
|
y = mainWindowHeight - static_cast<int>(m_itemsPositioning.cancelButtonYDiff * scale);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (repositionFlags & Reposition_Y)
|
SetWindowPos(hwnd, NULL, x, y, width, height, flags);
|
||||||
{
|
|
||||||
y += yDelta;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (repositionFlags & Reposition_Width)
|
|
||||||
{
|
|
||||||
cx += xDelta;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (repositionFlags & Reposition_Height)
|
|
||||||
{
|
|
||||||
cy += yDelta;
|
|
||||||
}
|
|
||||||
|
|
||||||
SetWindowPos(hwnd, NULL, x, y, cx, cy, flags);
|
|
||||||
|
|
||||||
RedrawWindow(hwnd, NULL, NULL, RDW_INVALIDATE);
|
RedrawWindow(hwnd, NULL, NULL, RDW_INVALIDATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -927,6 +942,51 @@ void CPowerRenameUI::_UpdateCounts()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CPowerRenameUI::_CollectItemPosition(_In_ DWORD id)
|
||||||
|
{
|
||||||
|
HWND hwnd = GetDlgItem(m_hwnd, id);
|
||||||
|
RECT rcWindow = { 0 };
|
||||||
|
GetWindowRect(hwnd, &rcWindow);
|
||||||
|
|
||||||
|
MapWindowPoints(HWND_DESKTOP, GetParent(hwnd), (LPPOINT)&rcWindow, 2);
|
||||||
|
int itemWidth = rcWindow.right - rcWindow.left;
|
||||||
|
int itemHeight = rcWindow.bottom - rcWindow.top;
|
||||||
|
|
||||||
|
switch (id)
|
||||||
|
{
|
||||||
|
case IDC_EDIT_SEARCHFOR:
|
||||||
|
/* IDC_EDIT_REPLACEWITH uses same value*/
|
||||||
|
m_itemsPositioning.searchReplaceWidthDiff = m_initialWidth - itemWidth;
|
||||||
|
break;
|
||||||
|
case IDC_PREVIEWGROUP:
|
||||||
|
m_itemsPositioning.previewGroupHeightDiff = m_initialHeight - itemHeight;
|
||||||
|
break;
|
||||||
|
case IDC_SEARCHREPLACEGROUP:
|
||||||
|
/* IDC_OPTIONSGROUP uses same value */
|
||||||
|
m_itemsPositioning.groupsWidthDiff = m_initialWidth - itemWidth;
|
||||||
|
break;
|
||||||
|
case IDC_LIST_PREVIEW:
|
||||||
|
m_itemsPositioning.listPreviewWidthDiff = m_initialWidth - itemWidth;
|
||||||
|
m_itemsPositioning.listPreviewHeightDiff = m_initialHeight - itemHeight;
|
||||||
|
break;
|
||||||
|
case IDC_STATUS_MESSAGE:
|
||||||
|
m_itemsPositioning.statusMessageYDiff = m_initialHeight - rcWindow.top;
|
||||||
|
break;
|
||||||
|
case ID_RENAME:
|
||||||
|
m_itemsPositioning.renameButtonXDiff = m_initialWidth - rcWindow.left;
|
||||||
|
m_itemsPositioning.renameButtonYDiff = m_initialHeight - rcWindow.top;
|
||||||
|
break;
|
||||||
|
case ID_ABOUT:
|
||||||
|
m_itemsPositioning.helpButtonXDiff = m_initialWidth - rcWindow.left;
|
||||||
|
m_itemsPositioning.helpButtonYDiff = m_initialHeight - rcWindow.top;
|
||||||
|
break;
|
||||||
|
case IDCANCEL:
|
||||||
|
m_itemsPositioning.cancelButtonXDiff = m_initialWidth - rcWindow.left;
|
||||||
|
m_itemsPositioning.cancelButtonYDiff = m_initialHeight - rcWindow.top;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CPowerRenameListView::Init(_In_ HWND hwndLV)
|
void CPowerRenameListView::Init(_In_ HWND hwndLV)
|
||||||
{
|
{
|
||||||
if (hwndLV)
|
if (hwndLV)
|
||||||
|
|||||||
@@ -77,6 +77,22 @@ public:
|
|||||||
static HRESULT s_CreateInstance(_In_ IPowerRenameManager* psrm, _In_opt_ IUnknown* dataSource, _In_ bool enableDragDrop, _Outptr_ IPowerRenameUI** ppsrui);
|
static HRESULT s_CreateInstance(_In_ IPowerRenameManager* psrm, _In_opt_ IUnknown* dataSource, _In_ bool enableDragDrop, _Outptr_ IPowerRenameUI** ppsrui);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
struct DialogItemsPositioning
|
||||||
|
{
|
||||||
|
int groupsWidthDiff;
|
||||||
|
int previewGroupHeightDiff;
|
||||||
|
int searchReplaceWidthDiff;
|
||||||
|
int listPreviewWidthDiff;
|
||||||
|
int listPreviewHeightDiff;
|
||||||
|
int statusMessageYDiff;
|
||||||
|
int renameButtonXDiff;
|
||||||
|
int renameButtonYDiff;
|
||||||
|
int helpButtonXDiff;
|
||||||
|
int helpButtonYDiff;
|
||||||
|
int cancelButtonXDiff;
|
||||||
|
int cancelButtonYDiff;
|
||||||
|
};
|
||||||
|
|
||||||
~CPowerRenameUI()
|
~CPowerRenameUI()
|
||||||
{
|
{
|
||||||
DeleteObject(m_iconMain);
|
DeleteObject(m_iconMain);
|
||||||
@@ -115,7 +131,7 @@ private:
|
|||||||
void _OnCloseDlg();
|
void _OnCloseDlg();
|
||||||
void _OnDestroyDlg();
|
void _OnDestroyDlg();
|
||||||
void _OnSearchReplaceChanged();
|
void _OnSearchReplaceChanged();
|
||||||
void _MoveControl(_In_ DWORD id, _In_ DWORD repositionFlags, _In_ int xDelta, _In_ int yDelta);
|
void _MoveControl(_In_ DWORD id, _In_ DWORD repositionFlags);
|
||||||
|
|
||||||
HRESULT _ReadSettings();
|
HRESULT _ReadSettings();
|
||||||
HRESULT _WriteSettings();
|
HRESULT _WriteSettings();
|
||||||
@@ -127,6 +143,8 @@ private:
|
|||||||
void _EnumerateItems(_In_ IUnknown* pdtobj);
|
void _EnumerateItems(_In_ IUnknown* pdtobj);
|
||||||
void _UpdateCounts();
|
void _UpdateCounts();
|
||||||
|
|
||||||
|
void _CollectItemPosition(_In_ DWORD id);
|
||||||
|
|
||||||
long m_refCount = 0;
|
long m_refCount = 0;
|
||||||
bool m_initialized = false;
|
bool m_initialized = false;
|
||||||
bool m_enableDragDrop = false;
|
bool m_enableDragDrop = false;
|
||||||
@@ -139,6 +157,8 @@ private:
|
|||||||
DWORD m_currentRegExId = 0;
|
DWORD m_currentRegExId = 0;
|
||||||
UINT m_selectedCount = 0;
|
UINT m_selectedCount = 0;
|
||||||
UINT m_renamingCount = 0;
|
UINT m_renamingCount = 0;
|
||||||
|
UINT m_initialDPI = 0;
|
||||||
|
DialogItemsPositioning m_itemsPositioning {};
|
||||||
int m_initialWidth = 0;
|
int m_initialWidth = 0;
|
||||||
int m_initialHeight = 0;
|
int m_initialHeight = 0;
|
||||||
int m_lastWidth = 0;
|
int m_lastWidth = 0;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="15.0"
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
|
|||||||
Reference in New Issue
Block a user