[MMC]
authorEric Kohl <eric.kohl@reactos.org>
Sun, 25 Aug 2013 21:43:46 +0000 (21:43 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 25 Aug 2013 21:43:46 +0000 (21:43 +0000)
- Fix all bugs that keep MMC from starting and terminating properly.
- Implement an MDI client window.
- Add menuitem "File/New" in order to create a new console window (MDI child).
- Add a "large" menu that is used when console windows are visible.

svn path=/trunk/; revision=59823

27 files changed:
reactos/base/applications/mmc/console.c
reactos/base/applications/mmc/lang/bg-BG.rc
reactos/base/applications/mmc/lang/ca-ES.rc
reactos/base/applications/mmc/lang/cs-CZ.rc
reactos/base/applications/mmc/lang/de-DE.rc
reactos/base/applications/mmc/lang/el-GR.rc
reactos/base/applications/mmc/lang/en-US.rc
reactos/base/applications/mmc/lang/es-ES.rc
reactos/base/applications/mmc/lang/fr-FR.rc
reactos/base/applications/mmc/lang/he-IL.rc
reactos/base/applications/mmc/lang/it-IT.rc
reactos/base/applications/mmc/lang/ko-KR.rc
reactos/base/applications/mmc/lang/lt-LT.rc
reactos/base/applications/mmc/lang/no-NO.rc
reactos/base/applications/mmc/lang/pl-PL.rc
reactos/base/applications/mmc/lang/pt-BR.rc
reactos/base/applications/mmc/lang/ro-RO.rc
reactos/base/applications/mmc/lang/ru-RU.rc
reactos/base/applications/mmc/lang/sk-SK.rc
reactos/base/applications/mmc/lang/sv-SE.rc
reactos/base/applications/mmc/lang/tr-TR.rc
reactos/base/applications/mmc/lang/uk-UA.rc
reactos/base/applications/mmc/lang/zh-CN.rc
reactos/base/applications/mmc/lang/zh-TW.rc
reactos/base/applications/mmc/mmc.c
reactos/base/applications/mmc/precomp.h
reactos/base/applications/mmc/resource.h

index 920a247..97c96eb 100644 (file)
@@ -22,7 +22,6 @@
 static const TCHAR szMMCMainFrame[] = TEXT("MMCMainFrame");
 static const TCHAR szMMCChildFrm[] = TEXT("MMCChildFrm");
 
-static LONG MainFrameWndCount = 0;
 static ULONG NewConsoleCount = 0;
 
 static LPTSTR
@@ -41,11 +40,16 @@ CreateNewConsoleTitle(VOID)
     return lpTitle;
 }
 
+
 typedef struct _CONSOLE_MAINFRAME_WND
 {
     HWND hwnd;
+    HWND hwndMDIClient;
+
     LPCTSTR lpConsoleTitle;
-    HMENU hMenuConsoleRoot;
+    HMENU hMenuConsoleSmall;
+    HMENU hMenuConsoleLarge;
+    INT nConsoleCount;
     union
     {
         DWORD Flags;
@@ -56,119 +60,254 @@ typedef struct _CONSOLE_MAINFRAME_WND
     };
 } CONSOLE_MAINFRAME_WND, *PCONSOLE_MAINFRAME_WND;
 
-static LRESULT CALLBACK
-ConsoleMainFrameWndProc(IN HWND hwnd,
-                        IN UINT uMsg,
-                        IN WPARAM wParam,
-                        IN LPARAM lParam)
+
+HWND
+CreateNewMDIChild(PCONSOLE_MAINFRAME_WND Info,
+                  HWND hwndMDIClient)
+{
+    MDICREATESTRUCT mcs;
+    HWND hChild;
+
+    mcs.szTitle = CreateNewConsoleTitle();
+    mcs.szClass = szMMCChildFrm;
+    mcs.hOwner  = GetModuleHandle(NULL);
+    mcs.x = mcs.cx = CW_USEDEFAULT;
+    mcs.y = mcs.cy = CW_USEDEFAULT;
+    mcs.style = MDIS_ALLCHILDSTYLES;
+
+    hChild = (HWND)SendMessage(hwndMDIClient, WM_MDICREATE, 0, (LONG)&mcs);
+    if (hChild)
+    {
+        Info->nConsoleCount++;
+    }
+
+    return hChild;
+}
+
+
+static LRESULT
+FrameOnCreate(HWND hwnd,
+              LPARAM lParam)
 {
     PCONSOLE_MAINFRAME_WND Info;
-    LRESULT Ret = FALSE;
+    CLIENTCREATESTRUCT ccs;
+    LPCTSTR lpFileName = (LPCTSTR)(((LPCREATESTRUCT)lParam)->lpCreateParams);
 
-    Info = (PCONSOLE_MAINFRAME_WND)GetWindowLongPtr(hwnd,
-                                                    0);
+    Info = HeapAlloc(hAppHeap,
+                     0,
+                     sizeof(CONSOLE_MAINFRAME_WND));
+    if (Info == NULL)
+        return -1;
+
+    ZeroMemory(Info,
+               sizeof(CONSOLE_MAINFRAME_WND));
+
+    Info->hwnd = hwnd;
 
-    if (Info != NULL || uMsg == WM_NCCREATE)
+    SetWindowLongPtr(hwnd,
+                     0,
+                     (LONG_PTR)Info);
+
+    Info->hMenuConsoleSmall = LoadMenu(hAppInstance,
+                                       MAKEINTRESOURCE(IDM_CONSOLE_SMALL));
+
+    Info->hMenuConsoleLarge = LoadMenu(hAppInstance,
+                                       MAKEINTRESOURCE(IDM_CONSOLE_LARGE));
+
+    if (lpFileName == NULL)
     {
-        switch (uMsg)
-        {
-            case WM_COMMAND:
+        /* FIXME */
+        Info->AppAuthorMode = TRUE;
+        Info->lpConsoleTitle = TEXT("ReactOS Management Console");
+    }
+    else
+    {
+        Info->AppAuthorMode = TRUE;
+        Info->lpConsoleTitle = CreateNewConsoleTitle();
+    }
+
+    SetMenu(Info->hwnd,
+            Info->hMenuConsoleSmall);
+
+    SetWindowText(Info->hwnd,
+                  Info->lpConsoleTitle);
+
+    ccs.hWindowMenu = GetSubMenu(Info->hMenuConsoleLarge, 1);
+    ccs.idFirstChild = IDM_MDI_FIRSTCHILD;
+
+    /* Create the MDI client window */
+    hwndMDIClient = CreateWindowEx(WS_EX_CLIENTEDGE,
+                                   L"MDICLIENT",
+                                   (LPCTSTR)NULL,
+                                   WS_CHILD | WS_CLIPCHILDREN | WS_VSCROLL | WS_HSCROLL | WS_VISIBLE | WS_BORDER,
+                                   CW_USEDEFAULT,
+                                   CW_USEDEFAULT,
+                                   CW_USEDEFAULT,
+                                   CW_USEDEFAULT,
+                                   hwnd,
+                                   (HMENU)0xCAC,
+                                   hAppInstance,
+                                   (LPVOID)&ccs);
+
+    ShowWindow(Info->hwndMDIClient, SW_SHOW);
+
+    return 0;
+}
+
+
+static VOID
+FrameOnCommand(HWND hwnd,
+               UINT uMsg,
+               WPARAM wParam,
+               LPARAM lParam)
+{
+    PCONSOLE_MAINFRAME_WND Info;
+    HWND hChild;
+
+    Info = (PCONSOLE_MAINFRAME_WND)GetWindowLongPtr(hwnd, 0);
+
+    switch (LOWORD(wParam))
+    {
+        case IDM_FILE_NEW:
+            CreateNewMDIChild(Info, hwndMDIClient);
+            SetMenu(Info->hwnd,
+                    Info->hMenuConsoleLarge);
+            break;
+
+        case IDM_FILE_EXIT:
+            PostMessage(hwnd, WM_CLOSE, 0, 0);
+            break;
+
+        default:
+            if (LOWORD(wParam) >= IDM_MDI_FIRSTCHILD)
             {
-                switch (LOWORD(wParam))
+                DefFrameProc(hwnd, hwndMDIClient, uMsg, wParam, lParam);
+            }
+            else
+            {
+                hChild = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0);
+                if (hChild)
                 {
-                    case ID_FILE_EXIT:
-                        PostMessage(hwnd,
-                                    WM_CLOSE,
-                                    0,
-                                    0);
-                        break;
+                    SendMessage(hChild, WM_COMMAND, wParam, lParam);
                 }
-                break;
             }
+            break;
+    }
+}
 
-            case WM_NCCREATE:
-            {
-                MainFrameWndCount++;
 
-                Info = HeapAlloc(hAppHeap,
-                                 0,
-                                 sizeof(*Info));
-                if (Info != NULL)
-                {
-                    ZeroMemory(Info,
-                               sizeof(*Info));
+static VOID
+FrameOnSize(HWND hMainWnd,
+            WORD cx,
+            WORD cy)
+{
+    RECT rcClient; //, rcTool, rcStatus;
+//    int lvHeight, iToolHeight, iStatusHeight;
+
+    /* Size toolbar and get height */
+//    SendMessage(Info->hTool, TB_AUTOSIZE, 0, 0);
+//    GetWindowRect(Info->hTool, &rcTool);
+//    iToolHeight = rcTool.bottom - rcTool.top;
+
+    /* Size status bar and get height */
+//    SendMessage(Info->hStatus, WM_SIZE, 0, 0);
+//    GetWindowRect(Info->hStatus, &rcStatus);
+//    iStatusHeight = rcStatus.bottom - rcStatus.top;
+
+    /* Calculate remaining height and size list view */
+    GetClientRect(hMainWnd, &rcClient);
+//    lvHeight = rcClient.bottom - iToolHeight - iStatusHeight;
+    SetWindowPos(hwndMDIClient, //Info->hTreeView,
+                 NULL,
+                 0,
+                 0, //iToolHeight,
+                 rcClient.right,
+                 rcClient.bottom, //lvHeight,
+                 SWP_NOZORDER);
+}
 
-                    Info->hwnd = hwnd;
 
-                    SetWindowLongPtr(hwnd,
-                                     0,
-                                     (LONG_PTR)Info);
+static LRESULT CALLBACK
+ConsoleMainFrameWndProc(IN HWND hwnd,
+                        IN UINT uMsg,
+                        IN WPARAM wParam,
+                        IN LPARAM lParam)
+{
+    PCONSOLE_MAINFRAME_WND Info;
 
-                    Info->hMenuConsoleRoot = LoadMenu(hAppInstance,
-                                                      MAKEINTRESOURCE(IDM_CONSOLEROOT));
-                    Ret = TRUE;
-                }
-                break;
-            }
+    Info = (PCONSOLE_MAINFRAME_WND)GetWindowLongPtr(hwnd,
+                                                    0);
 
-            case WM_CREATE:
+    switch (uMsg)
+    {
+        case WM_CREATE:
+            return FrameOnCreate(hwnd,
+                                 lParam);
+
+        case WM_COMMAND:
+            FrameOnCommand(hwnd,
+                           uMsg,
+                           wParam,
+                           lParam);
+            break;
+
+        case WM_SIZE:
+            FrameOnSize(hwnd,
+                        LOWORD(lParam),
+                        HIWORD(lParam));
+            break;
+
+        case WM_CLOSE:
+            DestroyWindow(hwnd);
+            break;
+
+        case WM_DESTROY:
+            if (Info != NULL)
             {
-                LPCTSTR lpFileName = (LPCTSTR)(((LPCREATESTRUCT)lParam)->lpCreateParams);
+                SetMenu(Info->hwnd,
+                        NULL);
 
-                if (lpFileName != NULL)
+                if (Info->hMenuConsoleSmall != NULL)
                 {
-                    /* FIXME */
+                    DestroyMenu(Info->hMenuConsoleSmall);
+                    Info->hMenuConsoleSmall = NULL;
                 }
-                else
-                {
-                    Info->AppAuthorMode = TRUE;
-                    Info->lpConsoleTitle = CreateNewConsoleTitle();
-                }
-
-                SetWindowText(Info->hwnd,
-                              Info->lpConsoleTitle);
-                break;
-            }
-
-            case WM_NCDESTROY:
-                SetMenu(Info->hwnd,
-                        NULL);
 
-                if (Info->hMenuConsoleRoot != NULL)
+                if (Info->hMenuConsoleLarge != NULL)
                 {
-                    DestroyMenu(Info->hMenuConsoleRoot);
-                    Info->hMenuConsoleRoot = NULL;
+                    DestroyMenu(Info->hMenuConsoleLarge);
+                    Info->hMenuConsoleLarge = NULL;
                 }
 
                 HeapFree(hAppHeap,
                          0,
                          Info);
+            }
 
-                if (--MainFrameWndCount == 0)
-                    PostQuitMessage(0);
-                break;
-
-
-            case WM_CLOSE:
-                DestroyWindow(hwnd);
-                break;
+            PostQuitMessage(0);
+            break;
 
-            default:
-                goto HandleDefaultMsg;
-        }
-    }
-    else
-    {
-HandleDefaultMsg:
-        Ret = DefWindowProc(hwnd,
-                            uMsg,
-                            wParam,
-                            lParam);
+        case WM_USER_CLOSE_CHILD:
+            Info->nConsoleCount--;
+            if (Info->nConsoleCount == 0)
+            {
+                SetMenu(Info->hwnd,
+                        Info->hMenuConsoleSmall);
+            }
+            break;
+
+        default:
+            return DefFrameProc(hwnd,
+                                hwndMDIClient,
+                                uMsg,
+                                wParam,
+                                lParam);
     }
 
-    return Ret;
+    return 0;
 }
 
+
 typedef struct _CONSOLE_CHILDFRM_WND
 {
     HWND hwnd;
@@ -182,65 +321,52 @@ ConsoleChildFrmProc(IN HWND hwnd,
                     IN LPARAM lParam)
 {
     PCONSOLE_CHILDFRM_WND Info;
-    LRESULT Ret = FALSE;
 
     Info = (PCONSOLE_CHILDFRM_WND)GetWindowLongPtr(hwnd,
                                                    0);
 
-    if (Info != NULL || uMsg == WM_NCCREATE)
+    switch (uMsg)
     {
-        switch (uMsg)
-        {
-            case WM_NCCREATE:
-                Info = HeapAlloc(hAppHeap,
-                                 0,
-                                 sizeof(*Info));
-                if (Info != NULL)
-                {
-                    ZeroMemory(Info,
-                               sizeof(*Info));
-
-                    Info->hwnd = hwnd;
+        case WM_CREATE:
+            Info = HeapAlloc(hAppHeap,
+                             0,
+                             sizeof(CONSOLE_CHILDFRM_WND));
+            if (Info != NULL)
+            {
+                ZeroMemory(Info,
+                           sizeof(CONSOLE_CHILDFRM_WND));
 
-                    SetWindowLongPtr(hwnd,
-                                     0,
-                                     (LONG_PTR)Info);
+                Info->hwnd = hwnd;
 
-                    Ret = TRUE;
-                }
-                break;
+                SetWindowLongPtr(hwnd,
+                                 0,
+                                 (LONG_PTR)Info);
+            }
+            break;
 
+       case WM_DESTROY:
+           if (Info != NULL)
+                HeapFree(hAppHeap, 0, Info);
 
-            case WM_NCDESTROY:
-                HeapFree(hAppHeap,
-                         0,
-                         Info);
-                break;
+           PostMessage(hwndMainConsole, WM_USER_CLOSE_CHILD, 0, 0);
+           break;
 
-            default:
-                goto HandleDefaultMsg;
-        }
-    }
-    else
-    {
-HandleDefaultMsg:
-        Ret = DefWindowProc(hwnd,
-                            uMsg,
-                            wParam,
-                            lParam);
+       default:
+            return DefMDIChildProc(hwnd, uMsg, wParam, lParam);
     }
 
-    return Ret;
-
+    return 0;
 }
 
+
 BOOL
 RegisterMMCWndClasses(VOID)
 {
-    WNDCLASS wc;
+    WNDCLASSEX wc = {0};
     BOOL Ret;
 
     /* Register the MMCMainFrame window class */
+    wc.cbSize = sizeof(WNDCLASSEX);
     wc.style = 0;
     wc.lpfnWndProc = ConsoleMainFrameWndProc;
     wc.cbClsExtra = 0;
@@ -254,15 +380,25 @@ RegisterMMCWndClasses(VOID)
     wc.lpszMenuName = NULL;
     wc.lpszClassName = szMMCMainFrame;
 
-    Ret = (RegisterClass(&wc) != (ATOM)0);
+    Ret = (RegisterClassEx(&wc) != (ATOM)0);
+
     if (Ret)
     {
         /* Register the MMCChildFrm window class */
+        wc.cbSize = sizeof(WNDCLASSEX);
+        wc.style = CS_HREDRAW | CS_VREDRAW;
         wc.lpfnWndProc = ConsoleChildFrmProc;
+        wc.cbClsExtra = 0;
         wc.cbWndExtra = sizeof(PCONSOLE_CHILDFRM_WND);
+        wc.hInstance = hAppInstance;
+        wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
+        wc.hCursor = LoadCursor(NULL, IDC_ARROW);
+        wc.hbrBackground = (HBRUSH)(COLOR_3DFACE+1);
+        wc.lpszMenuName = NULL;
         wc.lpszClassName = szMMCChildFrm;
+        wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
 
-        Ret = (RegisterClass(&wc) != (ATOM)0);
+        Ret = (RegisterClassEx(&wc) != (ATOM)0);
         if (!Ret)
         {
             UnregisterClass(szMMCMainFrame,
@@ -283,7 +419,8 @@ UnregisterMMCWndClasses(VOID)
 }
 
 HWND
-CreateConsoleWindow(IN LPCTSTR lpFileName  OPTIONAL)
+CreateConsoleWindow(IN LPCTSTR lpFileName  OPTIONAL,
+                    int nCmdShow)
 {
     HWND hWndConsole;
     LONG_PTR FileName = (LONG_PTR)lpFileName;
@@ -291,7 +428,7 @@ CreateConsoleWindow(IN LPCTSTR lpFileName  OPTIONAL)
     hWndConsole = CreateWindowEx(WS_EX_WINDOWEDGE,
                                  szMMCMainFrame,
                                  NULL,
-                                 WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS,
+                                 WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
                                  CW_USEDEFAULT,
                                  CW_USEDEFAULT,
                                  CW_USEDEFAULT,
@@ -303,8 +440,7 @@ CreateConsoleWindow(IN LPCTSTR lpFileName  OPTIONAL)
 
     if (hWndConsole != NULL)
     {
-        ShowWindow(hWndConsole,
-                   SW_SHOWDEFAULT);
+        ShowWindow(hWndConsole, nCmdShow);
     }
 
     return hWndConsole;
index 762d8b8..446de5a 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Файл"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "Из&ход\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "Из&ход\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "Помо&щ"
     BEGIN
-        MENUITEM "&За Прибора за управление на РеактОС...", ID_HELP_ABOUT
+        MENUITEM "&За Прибора за управление на РеактОС...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Файл"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "Из&ход\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "Помо&щ"
+    BEGIN
+        MENUITEM "&За Прибора за управление на РеактОС...", IDM_HELP_ABOUT
     END
 END
 
index 65be480..8e0414d 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Fitxer"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&Sortida\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&Sortida\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Ajuda"
     BEGIN
-        MENUITEM "&En quant a Consola d'administracio de ReactOS...", ID_HELP_ABOUT
+        MENUITEM "&En quant a Consola d'administracio de ReactOS...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Fitxer"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&Sortida\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Ajuda"
+    BEGIN
+        MENUITEM "&En quant a Consola d'administracio de ReactOS...", IDM_HELP_ABOUT
     END
 END
 
index 25f794d..f4088aa 100644 (file)
@@ -5,17 +5,38 @@
 
 LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Soubor"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "Uk&ončit\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "Uk&ončit\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Nápověda"
     BEGIN
-        MENUITEM "&O konzoli řízení systému ReactOS...", ID_HELP_ABOUT
+        MENUITEM "&O konzoli řízení systému ReactOS...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Soubor"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "Uk&ončit\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Nápověda"
+    BEGIN
+        MENUITEM "&O konzoli řízení systému ReactOS...", IDM_HELP_ABOUT
     END
 END
 
index bcd9b78..7615cf5 100644 (file)
@@ -1,19 +1,41 @@
 LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Datei"
     BEGIN
+        MENUITEM "Neu\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "B&eenden\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "B&eenden\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Hilfe"
     BEGIN
-        MENUITEM "Ü&ber ReactOS Management Console...", ID_HELP_ABOUT
+        MENUITEM "Ü&ber ReactOS Management Console...", IDM_HELP_ABOUT
     END
 END
 
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Datei"
+    BEGIN
+        MENUITEM "Neu\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "B&eenden\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Fenster"
+    BEGIN
+        MENUITEM "Liste", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Hilfe"
+    BEGIN
+        MENUITEM "Ü&ber ReactOS Management Console...", IDM_HELP_ABOUT
+    END
+END
+
+
 STRINGTABLE DISCARDABLE
 BEGIN
     IDS_APPTITLE "ReactOS Management Console"
index ad0310b..e880307 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Αρχείο"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "Έ&ξοδος\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "Έ&ξοδος\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Βοήθεια"
     BEGIN
-        MENUITEM "&Σχετικά με την Κονσόλα Διαχείρισης του ReactOS...", ID_HELP_ABOUT
+        MENUITEM "&Σχετικά με την Κονσόλα Διαχείρισης του ReactOS...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Αρχείο"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "Έ&ξοδος\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Βοήθεια"
+    BEGIN
+        MENUITEM "&Σχετικά με την Κονσόλα Διαχείρισης του ReactOS...", IDM_HELP_ABOUT
     END
 END
 
index 3d0052f..cedd365 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&File"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "E&xit\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "E&xit\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Help"
     BEGIN
-        MENUITEM "&About ReactOS Management Console...", ID_HELP_ABOUT
+        MENUITEM "&About ReactOS Management Console...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About ReactOS Management Console...", IDM_HELP_ABOUT
     END
 END
 
index a2d0619..768a8a7 100644 (file)
@@ -5,17 +5,38 @@
 
 LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Archivo"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "Sa&lir\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Ayuda"
     BEGIN
-        MENUITEM "&Acerca de la Consola de Administración de ReactOS...", ID_HELP_ABOUT
+        MENUITEM "&Acerca de la Consola de Administración de ReactOS...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Archivo"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Ayuda"
+    BEGIN
+        MENUITEM "&Acerca de la Consola de Administración de ReactOS...", IDM_HELP_ABOUT
     END
 END
 
index 0e33a60..b0d2e93 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Fichier"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "Quitter\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "Quitter\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "Aide"
     BEGIN
-        MENUITEM "À propos de l&a Console de Gestion ReactOS...", ID_HELP_ABOUT
+        MENUITEM "À propos de l&a Console de Gestion ReactOS...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Fichier"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "Quitter\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "Aide"
+    BEGIN
+        MENUITEM "À propos de l&a Console de Gestion ReactOS...", IDM_HELP_ABOUT
     END
 END
 
index 588dde9..d716fd4 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&קובץ"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&יציאה\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&יציאה\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&עזרה"
     BEGIN
-        MENUITEM "&אודות ReactOS Management Console...", ID_HELP_ABOUT
+        MENUITEM "&אודות ReactOS Management Console...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&קובץ"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&יציאה\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&עזרה"
+    BEGIN
+        MENUITEM "&אודות ReactOS Management Console...", IDM_HELP_ABOUT
     END
 END
 
index 0c078ff..42483dd 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&File"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "E&sci\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "E&sci\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Aiuto"
     BEGIN
-        MENUITEM "&Informazioni su ReactOS Management Console...", ID_HELP_ABOUT
+        MENUITEM "&Informazioni su ReactOS Management Console...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "E&sci\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Aiuto"
+    BEGIN
+        MENUITEM "&Informazioni su ReactOS Management Console...", IDM_HELP_ABOUT
     END
 END
 
index d4fd68b..6443b7c 100644 (file)
@@ -4,17 +4,38 @@
 
 LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "파일(&F)"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "종료(&E)\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "종료(&E)\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "도움말(&H)"
     BEGIN
-        MENUITEM "ReactOS 관리 콘솔에 대하여...(&A)", ID_HELP_ABOUT
+        MENUITEM "ReactOS 관리 콘솔에 대하여...(&A)", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "파일(&F)"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "종료(&E)\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "도움말(&H)"
+    BEGIN
+        MENUITEM "ReactOS 관리 콘솔에 대하여...(&A)", IDM_HELP_ABOUT
     END
 END
 
index 358630c..eff3a22 100644 (file)
@@ -2,17 +2,38 @@
 
 LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Byla"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&Baigti\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&Baigti\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Pagalba"
     BEGIN
-        MENUITEM "&Apie ReactOS Valdymo Pultą...", ID_HELP_ABOUT
+        MENUITEM "&Apie ReactOS Valdymo Pultą...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Byla"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&Baigti\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Pagalba"
+    BEGIN
+        MENUITEM "&Apie ReactOS Valdymo Pultą...", IDM_HELP_ABOUT
     END
 END
 
index 95e5361..42f0f2a 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Fil"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&Avslutt\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&Avslutt\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Hjelp"
     BEGIN
-        MENUITEM "&Om ReactOS Management Console...", ID_HELP_ABOUT
+        MENUITEM "&Om ReactOS Management Console...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Fil"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&Avslutt\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Hjelp"
+    BEGIN
+        MENUITEM "&Om ReactOS Management Console...", IDM_HELP_ABOUT
     END
 END
 
index dba2f6a..c30350e 100644 (file)
@@ -7,17 +7,38 @@
 
 LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "Pl&ik"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "Za&kończ\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "Za&kończ\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Pomoc"
     BEGIN
-        MENUITEM "Konsola Zarządzania ReactOS - i&nformacje...", ID_HELP_ABOUT
+        MENUITEM "Konsola Zarządzania ReactOS - i&nformacje...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "Pl&ik"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "Za&kończ\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Pomoc"
+    BEGIN
+        MENUITEM "Konsola Zarządzania ReactOS - i&nformacje...", IDM_HELP_ABOUT
     END
 END
 
index b0eac43..85173c3 100644 (file)
@@ -1,16 +1,37 @@
 LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Arquivo"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "Sai&r\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "Sai&r\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "Aj&uda"
     BEGIN
-        MENUITEM "&Sobre o Console de gerenciamento ReactOS...", ID_HELP_ABOUT
+        MENUITEM "&Sobre o Console de gerenciamento ReactOS...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Arquivo"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "Sai&r\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "Aj&uda"
+    BEGIN
+        MENUITEM "&Sobre o Console de gerenciamento ReactOS...", IDM_HELP_ABOUT
     END
 END
 
index f77beb6..6110c9f 100644 (file)
@@ -7,17 +7,38 @@
  
 LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Fișier"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "I&eșire\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "I&eșire\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&?"
     BEGIN
-        MENUITEM "&Despre…",        ID_HELP_ABOUT
+        MENUITEM "&Despre…", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Fișier"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "I&eșire\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&?"
+    BEGIN
+        MENUITEM "&Despre…", IDM_HELP_ABOUT
     END
 END
 
index 1602e37..b136093 100644 (file)
@@ -2,17 +2,38 @@
 
 LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Файл"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&Выход\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&Выход\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Справка"
     BEGIN
-        MENUITEM "&О программе...", ID_HELP_ABOUT
+        MENUITEM "&О программе...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Файл"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&Выход\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Справка"
+    BEGIN
+        MENUITEM "&О программе...", IDM_HELP_ABOUT
     END
 END
 
index d47715c..66cc4eb 100644 (file)
@@ -8,17 +8,38 @@
 
 LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Súbor"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&Skončiť\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&Skončiť\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Pomocník"
     BEGIN
-        MENUITEM "Č&o je Konzola na správu systému ReactOS", ID_HELP_ABOUT
+        MENUITEM "Č&o je Konzola na správu systému ReactOS", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Súbor"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&Skončiť\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Pomocník"
+    BEGIN
+        MENUITEM "Č&o je Konzola na správu systému ReactOS", IDM_HELP_ABOUT
     END
 END
 
index 60fe4c8..302abd6 100644 (file)
@@ -7,17 +7,38 @@
 
 LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Arkiv"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&Avsluta\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&Avsluta\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Hjälp"
     BEGIN
-        MENUITEM "&Om ReactOS Management Console...", ID_HELP_ABOUT
+        MENUITEM "&Om ReactOS Management Console...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Arkiv"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&Avsluta\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Hjälp"
+    BEGIN
+        MENUITEM "&Om ReactOS Management Console...", IDM_HELP_ABOUT
     END
 END
 
index e669b00..23df747 100644 (file)
@@ -4,17 +4,38 @@
 
 LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Kütük"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "&Çıkış\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "&Çıkış\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Yardım"
     BEGIN
-        MENUITEM "&Hakkında...", ID_HELP_ABOUT
+        MENUITEM "&Hakkında...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Kütük"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "&Çıkış\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Yardım"
+    BEGIN
+        MENUITEM "&Hakkında...", IDM_HELP_ABOUT
     END
 END
 
index a09ce90..9b04dcf 100644 (file)
@@ -8,17 +8,38 @@
 
 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "&Файл"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "В&ихід\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "В&ихід\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "&Довідка"
     BEGIN
-        MENUITEM "&Про консоль керування ReactOS...", ID_HELP_ABOUT
+        MENUITEM "&Про консоль керування ReactOS...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "&Файл"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "В&ихід\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "&Довідка"
+    BEGIN
+        MENUITEM "&Про консоль керування ReactOS...", IDM_HELP_ABOUT
     END
 END
 
index da35e1f..f5193c8 100644 (file)
@@ -8,17 +8,38 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "档案(&F)"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "结束(&X)\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "结束(&X)\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "帮助(&H)"
     BEGIN
-        MENUITEM "关于 ReactOS 控制台(&A)...", ID_HELP_ABOUT
+        MENUITEM "关于 ReactOS 控制台(&A)...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "档案(&F)"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "结束(&X)\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "帮助(&H)"
+    BEGIN
+        MENUITEM "关于 ReactOS 控制台(&A)...", IDM_HELP_ABOUT
     END
 END
 
index 4003657..b64f41f 100644 (file)
@@ -8,17 +8,38 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
 
-IDM_CONSOLEROOT MENU DISCARDABLE
+IDM_CONSOLE_SMALL MENU DISCARDABLE
 BEGIN
     POPUP "檔案(&F)"
     BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
         MENUITEM SEPARATOR
-        MENUITEM "結束(&X)\tAlt+F4", ID_FILE_EXIT
+        MENUITEM "結束(&X)\tAlt+F4", IDM_FILE_EXIT
     END
 
     POPUP "說明(&H)"
     BEGIN
-        MENUITEM "關於 ReactOS 控制台(&A)...", ID_HELP_ABOUT
+        MENUITEM "關於 ReactOS 控制台(&A)...", IDM_HELP_ABOUT
+    END
+END
+
+IDM_CONSOLE_LARGE MENU DISCARDABLE
+BEGIN
+    POPUP "檔案(&F)"
+    BEGIN
+        MENUITEM "New\tStrg+N", IDM_FILE_NEW
+        MENUITEM SEPARATOR
+        MENUITEM "結束(&X)\tAlt+F4", IDM_FILE_EXIT
+    END
+
+    POPUP "&Windows"
+    BEGIN
+        MENUITEM "List", IDM_WINDOWS_LIST
+    END
+
+    POPUP "說明(&H)"
+    BEGIN
+        MENUITEM "關於 ReactOS 控制台(&A)...", IDM_HELP_ABOUT
     END
 END
 
index 19ce1f2..fb1efeb 100644 (file)
 
 HINSTANCE hAppInstance;
 HANDLE hAppHeap;
+HWND hwndMainConsole;
+HWND hwndMDIClient;
 
-int
-_tmain(IN int argc,
-       IN const TCHAR *argv[])
+
+int WINAPI
+_tWinMain(HINSTANCE hInstance,
+          HINSTANCE hPrevInstance,
+          LPTSTR lpCmdLine,
+          int nCmdShow)
 {
-    HWND hMainConsole;
     MSG Msg;
-    BOOL bRet;
 
-    hAppInstance = GetModuleHandle(NULL);
+    hAppInstance = hInstance; // GetModuleHandle(NULL);
     hAppHeap = GetProcessHeap();
 
     InitCommonControls();
@@ -41,25 +44,20 @@ _tmain(IN int argc,
         return 1;
     }
 
-    hMainConsole = CreateConsoleWindow(argc > 1 ? argv[1] : NULL);
-    if (hMainConsole != NULL)
+    hwndMainConsole = CreateConsoleWindow(NULL /*argc > 1 ? argv[1] : NULL*/, nCmdShow);
+    if (hwndMainConsole != NULL)
     {
-        for (;;)
+        while (GetMessage(&Msg, NULL, 0, 0))
         {
-            bRet = GetMessage(&Msg,
-                              NULL,
-                              0,
-                              0);
-            if (bRet != 0 && bRet != -1)
+            if (!TranslateMDISysAccel(hwndMDIClient, &Msg))
             {
                 TranslateMessage(&Msg);
                 DispatchMessage(&Msg);
             }
-            else if (bRet == 0)
-                break;
         }
     }
 
     UnregisterMMCWndClasses();
+
     return 0;
 }
index 0d08e9f..4ae294c 100644 (file)
@@ -7,6 +7,9 @@
 
 #include "resource.h"
 
+#define WM_USER_CLOSE_CHILD (WM_USER + 1)
+
+
 /* console.c */
 
 BOOL
@@ -16,7 +19,8 @@ VOID
 UnregisterMMCWndClasses(VOID);
 
 HWND
-CreateConsoleWindow(IN LPCTSTR lpFileName  OPTIONAL);
+CreateConsoleWindow(IN LPCTSTR lpFileName OPTIONAL,
+                    int nCmdShow);
 
 /* misc.c */
 
@@ -34,3 +38,5 @@ LoadAndFormatString(IN HINSTANCE hInstance,
 
 extern HINSTANCE hAppInstance;
 extern HANDLE hAppHeap;
+extern HWND hwndMainConsole;
+extern HWND hwndMDIClient;
index 65fbe6e..a539f87 100644 (file)
@@ -1,11 +1,17 @@
 #pragma once
 
-#define IDS_APPTITLE    101
+#define IDS_APPTITLE        101
 #define IDS_CONSOLETITLE    102
 
-#define IDI_MAINAPP 101
+#define IDI_MAINAPP         101
 
-#define IDM_CONSOLEROOT 101
+#define IDM_CONSOLE_SMALL  1000
+#define IDM_CONSOLE_LARGE  1001
 
-#define ID_FILE_EXIT    1001
-#define ID_HELP_ABOUT   9001
+#define IDM_FILE_NEW       1002
+#define IDM_FILE_OPEN      1003
+#define IDM_FILE_EXIT      1010
+#define IDM_WINDOWS_LIST   2001
+#define IDM_HELP_ABOUT     9001
+
+#define IDM_MDI_FIRSTCHILD 9500
\ No newline at end of file