#include "precomp.h"
#include <shellapi.h>
#include <stdlib.h>
#include <strsafe.h>
#include "resource.h"
#include <debug.h>
Go to the source code of this file.
|
PCONSOLE_CHILDFRM_WND | GetActiveChildInfo (VOID) |
|
static LPTSTR | CreateNewConsoleTitle (VOID) |
|
HWND | CreateNewMDIChild (PCONSOLE_MAINFRAME_WND Info, HWND hwndMDIClient) |
|
static LRESULT | FrameOnCreate (HWND hwnd, LPARAM lParam) |
|
static VOID | SetFileName (PCONSOLE_CHILDFRM_WND Info, PWSTR pFileName) |
|
static BOOL | DoSaveFileAs (HWND hWnd, PCONSOLE_CHILDFRM_WND pChildInfo) |
|
static BOOL | DoSaveFile (HWND hWnd, PCONSOLE_CHILDFRM_WND pChildInfo) |
|
static BOOL | FrameOnSave (HWND hWnd) |
|
static BOOL | FrameOnSaveAs (HWND hWnd) |
|
static VOID | FrameOnCommand (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
|
static VOID | FrameOnSize (HWND hMainWnd, WORD cx, WORD cy) |
|
static LRESULT CALLBACK | ConsoleMainFrameWndProc (IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) |
|
static LRESULT CALLBACK | ConsoleChildFrmProc (IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) |
|
BOOL | RegisterMMCWndClasses (VOID) |
|
VOID | UnregisterMMCWndClasses (VOID) |
|
HWND | CreateConsoleWindow (IN LPCTSTR lpFileName OPTIONAL, int nCmdShow) |
|
◆ NDEBUG
◆ CONSOLE_CHILDFRM_WND
◆ CONSOLE_MAINFRAME_WND
◆ PCONSOLE_CHILDFRM_WND
◆ PCONSOLE_MAINFRAME_WND
◆ ConsoleChildFrmProc()
Definition at line 479 of file console.c.
483{
485
487 0);
488
489 switch (uMsg)
490 {
496 {
498
500 0,
502 }
503 break;
504
507 {
510
512 }
513
515 break;
516
517 default:
519 }
520
521 return 0;
522}
struct _CONSOLE_CHILDFRM_WND * PCONSOLE_CHILDFRM_WND
#define WM_USER_CLOSE_CHILD
#define HeapFree(x, y, z)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Referenced by RegisterMMCWndClasses().
◆ ConsoleMainFrameWndProc()
Definition at line 398 of file console.c.
402{
404
406 0);
407
408 switch (uMsg)
409 {
413
416 uMsg,
419 break;
420
425 break;
426
429 break;
430
433 {
436
437 if (
Info->hMenuConsoleSmall !=
NULL)
438 {
441 }
442
443 if (
Info->hMenuConsoleLarge !=
NULL)
444 {
447 }
448
450 0,
452 }
453
455 break;
456
458 Info->nConsoleCount--;
459 if (
Info->nConsoleCount == 0)
460 {
462 Info->hMenuConsoleSmall);
463 }
464 break;
465
466 default:
469 uMsg,
472 }
473
474 return 0;
475}
static VOID FrameOnCommand(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
struct _CONSOLE_MAINFRAME_WND * PCONSOLE_MAINFRAME_WND
static VOID FrameOnSize(HWND hMainWnd, WORD cx, WORD cy)
static LRESULT FrameOnCreate(HWND hwnd, LPARAM lParam)
BOOL WINAPI SetMenu(_In_ HWND, _In_opt_ HMENU)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
BOOL WINAPI DestroyMenu(_In_ HMENU)
BOOL WINAPI DestroyWindow(_In_ HWND)
Referenced by RegisterMMCWndClasses().
◆ CreateConsoleWindow()
Definition at line 585 of file console.c.
587{
590
603
604 if (hWndConsole !=
NULL)
605 {
607 }
608
609 return hWndConsole;
610}
static const TCHAR szMMCMainFrame[]
#define WS_OVERLAPPEDWINDOW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
Referenced by _tWinMain().
◆ CreateNewConsoleTitle()
Definition at line 74 of file console.c.
75{
77
82 {
84 }
85
87}
static ULONG NewConsoleCount
DWORD LoadAndFormatString(IN HINSTANCE hInstance, IN UINT uID, OUT LPTSTR *lpTarget,...)
Referenced by CreateNewMDIChild().
◆ CreateNewMDIChild()
Definition at line 90 of file console.c.
92{
95
102
105 {
106 Info->nConsoleCount++;
107 }
108
110}
static struct myctx * mcs
static const TCHAR szMMCChildFrm[]
static LPTSTR CreateNewConsoleTitle(VOID)
#define MDIS_ALLCHILDSTYLES
Referenced by FrameOnCommand().
◆ DoSaveFile()
◆ DoSaveFileAs()
Definition at line 225 of file console.c.
228{
231
232 DPRINT1(
"pChildInfo %p\n", pChildInfo);
234
236
238 {
240 }
241 else
242 {
245 }
246
255
257 {
258
259
260
262
264 {
265
267 }
268 else
269 {
272 }
273 }
274 else
275 {
277 }
278}
static BOOL DoSaveFile(HWND hWnd, PCONSOLE_CHILDFRM_WND pChildInfo)
static VOID SetFileName(PCONSOLE_CHILDFRM_WND Info, PWSTR pFileName)
#define OFN_OVERWRITEPROMPT
#define OFN_PATHMUSTEXIST
OPENFILENAMEA OPENFILENAME
Referenced by DoSaveFile(), and FrameOnSaveAs().
◆ FrameOnCommand()
Definition at line 308 of file console.c.
312{
316
318
320 {
324 Info->hMenuConsoleLarge);
325 break;
326
329 break;
330
333 break;
334
337 break;
338
341 {
345 }
346 break;
347
348 default:
350 {
352 }
353 else
354 {
357 {
359 }
360 }
361 break;
362 }
363}
static BOOL FrameOnSaveAs(HWND hWnd)
HWND CreateNewMDIChild(PCONSOLE_MAINFRAME_WND Info, HWND hwndMDIClient)
static BOOL FrameOnSave(HWND hWnd)
INT AllocAndLoadString(OUT LPTSTR *lpTarget, IN HINSTANCE hInst, IN UINT uID)
#define IDM_MDI_FIRSTCHILD
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Referenced by ConsoleMainFrameWndProc().
◆ FrameOnCreate()
Definition at line 114 of file console.c.
116{
120
125 return -1;
126
128
130 0,
132
135
138
140 {
141
143
144 }
145 else
146 {
148
149 }
150
152 Info->hMenuConsoleSmall);
153
155
158
159
172
174
175 return 0;
176}
#define IDM_CONSOLE_SMALL
#define IDM_CONSOLE_LARGE
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
Referenced by ConsoleMainFrameWndProc().
◆ FrameOnSave()
Definition at line 281 of file console.c.
283{
285
287 if (pChildInfo ==
NULL)
289
291}
PCONSOLE_CHILDFRM_WND GetActiveChildInfo(VOID)
Referenced by FrameOnCommand().
◆ FrameOnSaveAs()
◆ FrameOnSize()
Definition at line 367 of file console.c.
370{
372
373
374
375
376
377
378
379
380
381
382
383
384
386
389 0,
390 0,
394}
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
Referenced by ConsoleMainFrameWndProc().
◆ GetActiveChildInfo()
◆ RegisterMMCWndClasses()
Definition at line 526 of file console.c.
527{
530
531
545
547
548 if (Ret)
549 {
550
563
565 if (!Ret)
566 {
569 }
570 }
571
572 return Ret;
573}
static LRESULT CALLBACK ConsoleChildFrmProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static LRESULT CALLBACK ConsoleMainFrameWndProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
Referenced by _tWinMain().
◆ SetFileName()
◆ UnregisterMMCWndClasses()
◆ NewConsoleCount
ULONG NewConsoleCount = 0 |
|
static |
◆ szMMCChildFrm
◆ szMMCMainFrame