From b52aae1e9c6355d1725e000dcf8824fc2fe40383 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 20 Jun 2022 14:58:04 +0300 Subject: time to get rid of some DlgProc defined just to handle WM_SIZE issues --- src/core/stdmsg/src/stdafx.h | 1 + src/core/stdmsg/src/tabs.cpp | 27 ++++++++++++++++----------- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'src/core/stdmsg') diff --git a/src/core/stdmsg/src/stdafx.h b/src/core/stdmsg/src/stdafx.h index ef484f4f68..6dd1a92181 100644 --- a/src/core/stdmsg/src/stdafx.h +++ b/src/core/stdmsg/src/stdafx.h @@ -117,6 +117,7 @@ public: INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override; int Resizer(UTILRESIZECONTROL *urc) override; + void OnResize() override; }; extern CTabbedWindow *g_pTabDialog; diff --git a/src/core/stdmsg/src/tabs.cpp b/src/core/stdmsg/src/tabs.cpp index ad11e2afa9..61c2426641 100644 --- a/src/core/stdmsg/src/tabs.cpp +++ b/src/core/stdmsg/src/tabs.cpp @@ -188,6 +188,21 @@ void CTabbedWindow::OnDestroy() g_pTabDialog = nullptr; } +void CTabbedWindow::OnResize() +{ + CDlgBase::OnResize(); + + SendMessage(m_hwndStatus, WM_SIZE, 0, 0); + + if (m_pEmbed) { + RECT rc; + GetClientRect(m_tab.GetHwnd(), &rc); + MoveWindow(m_pEmbed->GetHwnd(), 0, 0, rc.right - rc.left, rc.bottom - rc.top, FALSE); + } + + SaveWindowPosition(false); +} + int CTabbedWindow::Resizer(UTILRESIZECONTROL *urc) { if (urc->wId == IDC_TAB) { @@ -639,17 +654,7 @@ INT_PTR CTabbedWindow::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) break; } - LRESULT res = CDlgBase::DlgProc(msg, wParam, lParam); - if (msg == WM_SIZE) { - SendMessage(m_hwndStatus, WM_SIZE, 0, 0); - if (m_pEmbed) { - GetClientRect(m_tab.GetHwnd(), &rc); - MoveWindow(m_pEmbed->GetHwnd(), 0, 0, rc.right - rc.left, rc.bottom - rc.top, FALSE); - } - SaveWindowPosition(false); - } - - return res; + return CDlgBase::DlgProc(msg, wParam, lParam); } ///////////////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3