Beispiel #1
0
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));
}
Beispiel #2
0
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);
}