diff --git a/SiaDrive/SiaDriveDlg.cpp b/SiaDrive/SiaDriveDlg.cpp index c72e44b..c269a15 100644 --- a/SiaDrive/SiaDriveDlg.cpp +++ b/SiaDrive/SiaDriveDlg.cpp @@ -131,6 +131,7 @@ BEGIN_MESSAGE_MAP(CSiaDriveDlg, CDHtmlDialog) ON_MESSAGE(WM_TRAYNOTIFY, &CSiaDriveDlg::OnTrayNotification) ON_COMMAND(ID_MNU_ITEM_TOGGLE, &CSiaDriveDlg::OnMnuItemToggle) ON_COMMAND(ID_MNU_ITEM_EXIT, &CSiaDriveDlg::OnMnuItemExit) + ON_WM_SIZE() END_MESSAGE_MAP() @@ -268,7 +269,13 @@ void CSiaDriveDlg::OnMnuItemExit() void CSiaDriveDlg::OnMnuItemToggle() { - ShowWindow(IsWindowVisible() ? SW_HIDE : SW_SHOW); + const bool visible = IsWindowVisible(); + ShowWindow(visible ? SW_HIDE : SW_SHOW); + if (!visible && IsIconic()) + { + ShowWindow(SW_RESTORE); + SetForegroundWindow(); + } } void CSiaDriveDlg::OnPaint() @@ -301,6 +308,14 @@ HCURSOR CSiaDriveDlg::OnQueryDragIcon() return static_cast(m_hIcon); } +void CSiaDriveDlg::OnSize(UINT nType, int cx, int cy) +{ + if (nType == SIZE_MINIMIZED) + { + ShowWindow(SW_HIDE); + } +} + void CSiaDriveDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) diff --git a/SiaDrive/SiaDriveDlg.h b/SiaDrive/SiaDriveDlg.h index 5bc437e..e59d390 100644 --- a/SiaDrive/SiaDriveDlg.h +++ b/SiaDrive/SiaDriveDlg.h @@ -44,6 +44,8 @@ protected: afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnTimer(UINT_PTR nIDEvent); + afx_msg void OnSize(UINT ntype, int cx, int cy); + DECLARE_MESSAGE_MAP() DECLARE_DHTML_EVENT_MAP()