updatechecks function for checkmarks
This commit is contained in:
@@ -57,6 +57,7 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
|
|||||||
LoadString(hAppInstance, IDS_PMCLASS, szClass, ARRAYSIZE(szClass));
|
LoadString(hAppInstance, IDS_PMCLASS, szClass, ARRAYSIZE(szClass));
|
||||||
LoadString(hAppInstance, IDS_APPTITLE, szAppTitle, ARRAYSIZE(szAppTitle));
|
LoadString(hAppInstance, IDS_APPTITLE, szAppTitle, ARRAYSIZE(szAppTitle));
|
||||||
LoadString(hAppInstance, IDS_WEBSITE, szWebsite, ARRAYSIZE(szWebsite));
|
LoadString(hAppInstance, IDS_WEBSITE, szWebsite, ARRAYSIZE(szWebsite));
|
||||||
|
GetUserNameEx(NameSamCompatible, szUsername, &dwUsernameLen);
|
||||||
|
|
||||||
// Register the Frame Window
|
// Register the Frame Window
|
||||||
wc.lpfnWndProc = WndProc;
|
wc.lpfnWndProc = WndProc;
|
||||||
@@ -75,16 +76,17 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
// Perform Registry actions, close if registry is inaccessible.
|
// Perform Registry actions, close if registry is inaccessible.
|
||||||
if (!InitializeRegistryKeys())
|
if (InitializeRegistryKeys())
|
||||||
|
{
|
||||||
|
bIsDefaultShell = IsProgMgrDefaultShell();
|
||||||
|
LoadConfig();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
bIsDefaultShell = IsProgMgrDefaultShell();
|
// Add username to window title if settings permit
|
||||||
|
|
||||||
LoadConfig();
|
|
||||||
|
|
||||||
// Add username to window title
|
|
||||||
GetUserNameEx(NameSamCompatible, szUsername, &dwUsernameLen);
|
|
||||||
|
|
||||||
StringCchCopy(szWindowTitle, ARRAYSIZE(szAppTitle), szAppTitle);
|
StringCchCopy(szWindowTitle, ARRAYSIZE(szAppTitle), szAppTitle);
|
||||||
|
|
||||||
if (bShowUsername)
|
if (bShowUsername)
|
||||||
@@ -104,13 +106,12 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
|
|||||||
hMenu = GetMenu(hWndProgMgr);
|
hMenu = GetMenu(hWndProgMgr);
|
||||||
hSystemMenu = GetSystemMenu(hWndProgMgr, FALSE);
|
hSystemMenu = GetSystemMenu(hWndProgMgr, FALSE);
|
||||||
|
|
||||||
// Use our configuration to update our menu checkmarks
|
// Update our menu checkmarks
|
||||||
if (bAutoArrange)
|
UpdateChecks(bAutoArrange, IDM_OPTIONS, IDM_OPTIONS_AUTOARRANGE);
|
||||||
CheckMenuItem(hMenu, IDM_OPTIONS_AUTOARRANGE, MF_CHECKED);
|
UpdateChecks(bMinOnRun, IDM_OPTIONS, IDM_OPTIONS_MINONRUN);
|
||||||
if (bMinOnRun)
|
UpdateChecks(bTopMost, IDM_OPTIONS, IDM_OPTIONS_TOPMOST);
|
||||||
CheckMenuItem(hMenu, IDM_OPTIONS_MINONRUN, MF_CHECKED);
|
UpdateChecks(bShowUsername, IDM_OPTIONS, IDM_OPTIONS_SHOWUSERNAME);
|
||||||
if (bSaveSettings)
|
UpdateChecks(bSaveSettings, IDM_OPTIONS, IDM_OPTIONS_SAVESETTINGS);
|
||||||
CheckMenuItem(hMenu, IDM_OPTIONS_SAVESETTINGS, MF_CHECKED);
|
|
||||||
|
|
||||||
if (bIsDefaultShell)
|
if (bIsDefaultShell)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -46,3 +46,4 @@ BOOL ExitWindowsDialog(HWND hWndOwner);
|
|||||||
// WNDPROC.C
|
// WNDPROC.C
|
||||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||||
LRESULT CALLBACK CmdProc(HWND hWnd, WPARAM wParam, LPARAM lParam);
|
LRESULT CALLBACK CmdProc(HWND hWnd, WPARAM wParam, LPARAM lParam);
|
||||||
|
VOID UpdateChecks(BOOL bVarMenu, UINT uSubMenu, UINT uID);
|
||||||
@@ -120,7 +120,32 @@ LRESULT CALLBACK CmdProc(HWND hWnd, WPARAM wParam, LPARAM lParam)
|
|||||||
PostQuitMessage(0);
|
PostQuitMessage(0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case IDM_OPTIONS_AUTOARRANGE:
|
||||||
|
bAutoArrange = !bAutoArrange;
|
||||||
|
UpdateChecks(bAutoArrange, IDM_OPTIONS, IDM_OPTIONS_AUTOARRANGE);
|
||||||
|
goto SaveConfig;
|
||||||
|
|
||||||
|
case IDM_OPTIONS_MINONRUN:
|
||||||
|
bMinOnRun = !bMinOnRun;
|
||||||
|
UpdateChecks(bMinOnRun, IDM_OPTIONS, IDM_OPTIONS_MINONRUN);
|
||||||
|
goto SaveConfig;
|
||||||
|
|
||||||
|
case IDM_OPTIONS_TOPMOST:
|
||||||
|
bTopMost = !bTopMost;
|
||||||
|
UpdateChecks(bTopMost, IDM_OPTIONS, IDM_OPTIONS_TOPMOST);
|
||||||
|
goto SaveConfig;
|
||||||
|
case IDM_OPTIONS_SHOWUSERNAME:
|
||||||
|
bShowUsername = !bShowUsername;
|
||||||
|
UpdateChecks(bShowUsername, IDM_OPTIONS, IDM_OPTIONS_SHOWUSERNAME);
|
||||||
|
goto SaveConfig;
|
||||||
|
|
||||||
|
case IDM_OPTIONS_SAVESETTINGS:
|
||||||
|
bSaveSettings = !bSaveSettings;
|
||||||
|
UpdateChecks(bSaveSettings, IDM_OPTIONS, IDM_OPTIONS_SAVESETTINGS);
|
||||||
|
goto SaveConfig;
|
||||||
|
|
||||||
case IDM_OPTIONS_SAVENOW:
|
case IDM_OPTIONS_SAVENOW:
|
||||||
|
SaveConfig:
|
||||||
SaveConfig();
|
SaveConfig();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -144,6 +169,22 @@ LRESULT CALLBACK CmdProc(HWND hWnd, WPARAM wParam, LPARAM lParam)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* * * *\
|
||||||
|
UpdateChecks -
|
||||||
|
Updated checkmarks for a menu based on input
|
||||||
|
RETURNS -
|
||||||
|
Nothing!
|
||||||
|
\* * * */
|
||||||
|
VOID UpdateChecks(BOOL bVarMenu, UINT uSubMenu, UINT uID)
|
||||||
|
{
|
||||||
|
HMENU hMenu;
|
||||||
|
|
||||||
|
hMenu = GetMenu(hWndProgMgr);
|
||||||
|
CheckMenuItem(hMenu, uID, (WORD)(bVarMenu ? MF_CHECKED : MF_UNCHECKED));
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* * * *\
|
/* * * *\
|
||||||
ChildWndProc -
|
ChildWndProc -
|
||||||
Program Manager's window procedure.
|
Program Manager's window procedure.
|
||||||
|
|||||||
Reference in New Issue
Block a user