Fix inconsistent find dialog '<<' button position when resizing

Close #16485
This commit is contained in:
ozone10 2025-04-29 15:22:44 +02:00 committed by Don Ho
parent 28978d3a16
commit cfbb4de52a
2 changed files with 13 additions and 10 deletions

View File

@ -1220,26 +1220,26 @@ void FindReplaceDlg::resizeDialogElements()
const size_t nComboboxes = resizeWindowIDs.size();
//elements that need to be moved
const auto moveCheckIds = {
constexpr std::array moveCheckIds{
IDD_FINDINFILES_RECURSIVE_CHECK, IDD_FINDINFILES_INHIDDENDIR_CHECK,
IDD_FINDINFILES_PROJECT1_CHECK, IDD_FINDINFILES_PROJECT2_CHECK, IDD_FINDINFILES_PROJECT3_CHECK,
};
const auto moveBtnIDs = {
constexpr std::array moveBtnIDs{
IDCMARKALL, IDC_CLEAR_ALL, IDCCOUNTALL, IDC_FINDALL_OPENEDFILES, IDC_FINDALL_CURRENTFILE,
IDREPLACE, IDREPLACEALL, IDC_REPLACE_OPENEDFILES, IDD_FINDINFILES_FIND_BUTTON, IDD_FINDINFILES_REPLACEINFILES, IDCANCEL,
IDC_FINDPREV, IDC_COPY_MARKED_TEXT, IDD_FINDINFILES_REPLACEINPROJECTS, IDD_FINDINFILES_SETDIRFROMDOC_BUTTON
IDC_FINDPREV, IDC_COPY_MARKED_TEXT, IDD_FINDINFILES_REPLACEINPROJECTS
};
const auto moveOtherCtrlsIDs = {
constexpr std::array moveOtherCtrlsIDs{
IDC_REPLACEINSELECTION, IDD_RESIZE_TOGGLE_BUTTON, IDD_FINDREPLACE_SWAP_BUTTON
};
const auto moveLaterIDs = {
IDC_FINDPREV, IDD_FINDINFILES_BROWSE_BUTTON
constexpr std::array moveLaterIDs{
IDC_FINDPREV, IDD_FINDINFILES_BROWSE_BUTTON, IDD_FINDINFILES_SETDIRFROMDOC_BUTTON, IDC_FIF_FILTER_TIP_STATIC
};
const auto moveTransIDs = {
constexpr std::array moveTransIDs{
IDC_TRANSPARENT_CHECK, IDC_TRANSPARENT_LOSSFOCUS_RADIO, IDC_TRANSPARENT_ALWAYS_RADIO, IDC_PERCENTAGE_SLIDER
};
@ -1335,13 +1335,16 @@ void FindReplaceDlg::resizeDialogElements()
RECT rcFilterTipStatic{};
HWND FilterTipStatic = ::GetDlgItem(_hSelf, IDC_FIF_FILTER_TIP_STATIC);
getMappedChildRect(FilterTipStatic, rcFilterTipStatic);
hdwp = setOrDeferWindowPos(hdwp, FilterTipStatic, nullptr, rcSwapBtn.left + 4, rcFilterTipStatic.top, 0, 0, SWP_NOSIZE | flags);
hdwp = setOrDeferWindowPos(hdwp, FilterTipStatic, nullptr, rcSwapBtn.left + (gap / 2), rcFilterTipStatic.top, 0, 0, SWP_NOSIZE | flags);
RECT rcBrowseBtn{};
HWND hBrowseBtn = ::GetDlgItem(_hSelf, IDD_FINDINFILES_BROWSE_BUTTON);
getMappedChildRect(hBrowseBtn, rcBrowseBtn);
hdwp = setOrDeferWindowPos(hdwp, hBrowseBtn, nullptr, rcSwapBtn.left, rcBrowseBtn.top, 0, 0, SWP_NOSIZE | flags);
HWND hSetDirBtn = ::GetDlgItem(_hSelf, IDD_FINDINFILES_SETDIRFROMDOC_BUTTON);
hdwp = setOrDeferWindowPos(hdwp, hSetDirBtn, nullptr, rcSwapBtn.left + getRcWidth(rcBrowseBtn) + gap, rcBrowseBtn.top, 0, 0, SWP_NOSIZE | flags);
if (!isLessModeOn)
{
RECT rcTransGrpb{};

View File

@ -34,11 +34,11 @@ BEGIN
CONTROL "",IDD_FINDREPLACE_SWAP_BUTTON,"Button",BS_SPLITBUTTON | WS_TABSTOP,250,27,24,17
RTEXT "Filter&s:",IDD_FINDINFILES_FILTERS_STATIC,1,58,73,8
COMBOBOX IDD_FINDINFILES_FILTERS_COMBO,76,56,170,150,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
LTEXT "(?)",IDC_FIF_FILTER_TIP_STATIC,252,58,10,8, SS_NOTIFY
LTEXT "(?)",IDC_FIF_FILTER_TIP_STATIC,252,58,10,8,SS_NOTIFY
RTEXT "Dir&ectory:",IDD_FINDINFILES_DIR_STATIC,7,76,41,8
COMBOBOX IDD_FINDINFILES_DIR_COMBO,50,74,196,150,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "...",IDD_FINDINFILES_BROWSE_BUTTON,250,73,16,14
PUSHBUTTON "<<",IDD_FINDINFILES_SETDIRFROMDOC_BUTTON,266,73,16,14
PUSHBUTTON "<<",IDD_FINDINFILES_SETDIRFROMDOC_BUTTON,270,73,16,14
CONTROL "In all su&b-folders",IDD_FINDINFILES_RECURSIVE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,90,94,10
CONTROL "In &hidden folders",IDD_FINDINFILES_INHIDDENDIR_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,102,94,10