diff --git a/App.cpp b/App.cpp index 369a97e..5408402 100644 --- a/App.cpp +++ b/App.cpp @@ -4,6 +4,7 @@ #include "TrayIcon.h" #include "StartupManager.h" #include "CalculatorWindow.h" +#include "Settings.h" #include "resource.h" enum { IDM_SHOWHIDE = 1, IDM_STARTUP = 2, IDM_ABOUT = 3, IDM_EXIT = 4 }; @@ -92,6 +93,8 @@ int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE, LPWSTR, int) g_calc = new CCalculatorWindow(); g_calc->CreateStandalone(); + if (Settings::LoadVisible(true)) // first run (no saved value): visible + g_calc->ToggleVisible(); MSG m; while (GetMessage(&m, nullptr, 0, 0)) { diff --git a/CalculatorWindow.cpp b/CalculatorWindow.cpp index c235e18..f8f2355 100644 --- a/CalculatorWindow.cpp +++ b/CalculatorWindow.cpp @@ -194,6 +194,7 @@ void CCalculatorWindow::ToggleVisible() ::SetFocus(m_hwndEdit); m_shown = true; } + Settings::SaveVisible(m_shown); } POINTL CCalculatorWindow::CalcMinimalSize() const @@ -349,6 +350,7 @@ LRESULT CCalculatorWindow::OnClose(UINT, WPARAM, LPARAM, BOOL&) // Hide to tray instead of destroying. ShowWindow(SW_HIDE); m_shown = false; + Settings::SaveVisible(false); return 0; }