- 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
static const TCHAR szMMCMainFrame[] = TEXT("MMCMainFrame");
static const TCHAR szMMCChildFrm[] = TEXT("MMCChildFrm");
-static LONG MainFrameWndCount = 0;
static ULONG NewConsoleCount = 0;
static LPTSTR
return lpTitle;
}
+
typedef struct _CONSOLE_MAINFRAME_WND
{
HWND hwnd;
+ HWND hwndMDIClient;
+
LPCTSTR lpConsoleTitle;
- HMENU hMenuConsoleRoot;
+ HMENU hMenuConsoleSmall;
+ HMENU hMenuConsoleLarge;
+ INT nConsoleCount;
union
{
DWORD Flags;
};
} 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;
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;
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,
}
HWND
-CreateConsoleWindow(IN LPCTSTR lpFileName OPTIONAL)
+CreateConsoleWindow(IN LPCTSTR lpFileName OPTIONAL,
+ int nCmdShow)
{
HWND hWndConsole;
LONG_PTR FileName = (LONG_PTR)lpFileName;
hWndConsole = CreateWindowEx(WS_EX_WINDOWEDGE,
szMMCMainFrame,
NULL,
- WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS,
+ WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
if (hWndConsole != NULL)
{
- ShowWindow(hWndConsole,
- SW_SHOWDEFAULT);
+ ShowWindow(hWndConsole, nCmdShow);
}
return hWndConsole;
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
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
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
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"
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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();
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;
}
#include "resource.h"
+#define WM_USER_CLOSE_CHILD (WM_USER + 1)
+
+
/* console.c */
BOOL
UnregisterMMCWndClasses(VOID);
HWND
-CreateConsoleWindow(IN LPCTSTR lpFileName OPTIONAL);
+CreateConsoleWindow(IN LPCTSTR lpFileName OPTIONAL,
+ int nCmdShow);
/* misc.c */
extern HINSTANCE hAppInstance;
extern HANDLE hAppHeap;
+extern HWND hwndMainConsole;
+extern HWND hwndMDIClient;
#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