static LRESULT CALLBACK MAIN_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { #if 0 printf("M %4.4x %4.4x\n", msg, wParam); #endif switch (msg) { case WM_INITMENU: CheckMenuItem(Globals.hOptionMenu, PM_AUTO_ARRANGE, MF_BYCOMMAND | (Globals.bAutoArrange ? MF_CHECKED : MF_UNCHECKED)); CheckMenuItem(Globals.hOptionMenu, PM_MIN_ON_RUN, MF_BYCOMMAND | (Globals.bMinOnRun ? MF_CHECKED : MF_UNCHECKED)); CheckMenuItem(Globals.hOptionMenu, PM_SAVE_SETTINGS, MF_BYCOMMAND | (Globals.bSaveSettings ? MF_CHECKED : MF_UNCHECKED)); break; case WM_COMMAND: if (wParam < PM_FIRST_CHILD) MAIN_MenuCommand(hWnd, wParam, lParam); break; case WM_DESTROY: PostQuitMessage (0); break; } return(DefFrameProc(hWnd, Globals.hMDIWnd, msg, wParam, lParam)); }
static LRESULT CALLBACK MAIN_MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITMENU: { PROGGROUP* hActiveGroup = GROUP_ActiveGroup(); if (hActiveGroup) { if (PROGRAM_ActiveProgram(hActiveGroup)) { EnableMenuItem(Globals.hFileMenu, PM_OPEN, MF_ENABLED); EnableMenuItem(Globals.hFileMenu, PM_MOVE, MF_ENABLED); EnableMenuItem(Globals.hFileMenu, PM_COPY, MF_ENABLED); EnableMenuItem(Globals.hFileMenu, PM_DELETE , MF_ENABLED); EnableMenuItem(Globals.hFileMenu, PM_ATTRIBUTES, MF_ENABLED); } else { if (!hActiveGroup->hWnd || IsIconic(hActiveGroup->hWnd)) EnableMenuItem(Globals.hFileMenu, PM_OPEN, MF_ENABLED); else EnableMenuItem(Globals.hFileMenu, PM_OPEN, MF_GRAYED); EnableMenuItem(Globals.hFileMenu, PM_MOVE, MF_GRAYED); EnableMenuItem(Globals.hFileMenu, PM_COPY, MF_GRAYED); EnableMenuItem(Globals.hFileMenu, PM_DELETE , MF_ENABLED); EnableMenuItem(Globals.hFileMenu, PM_ATTRIBUTES, MF_ENABLED); } } else { EnableMenuItem(Globals.hFileMenu, PM_OPEN, MF_GRAYED); EnableMenuItem(Globals.hFileMenu, PM_MOVE, MF_GRAYED); EnableMenuItem(Globals.hFileMenu, PM_COPY, MF_GRAYED); EnableMenuItem(Globals.hFileMenu, PM_DELETE , MF_GRAYED); EnableMenuItem(Globals.hFileMenu, PM_ATTRIBUTES, MF_GRAYED); } CheckMenuItem(Globals.hOptionMenu, PM_AUTO_ARRANGE, MF_BYCOMMAND | (Globals.bAutoArrange ? MF_CHECKED : MF_UNCHECKED)); CheckMenuItem(Globals.hOptionMenu, PM_MIN_ON_RUN, MF_BYCOMMAND | (Globals.bMinOnRun ? MF_CHECKED : MF_UNCHECKED)); CheckMenuItem(Globals.hOptionMenu, PM_SAVE_SETTINGS, MF_BYCOMMAND | (Globals.bSaveSettings ? MF_CHECKED : MF_UNCHECKED)); break; } case WM_DESTROY: if (Globals.bSaveSettings) MAIN_SaveSettings(); PostQuitMessage(0); break; case WM_COMMAND: if (LOWORD(wParam) < PM_FIRST_CHILD) MAIN_MenuCommand(hWnd, LOWORD(wParam), lParam); break; } return DefFrameProcW(hWnd, Globals.hMDIWnd, uMsg, wParam, lParam); }