From 4cf88a12afcb0da90856e709b99acb5f945ed55b Mon Sep 17 00:00:00 2001 From: freedom Date: Sun, 6 Aug 2023 00:23:57 -0600 Subject: [PATCH] something something desktop window blah blah blah WE HAVE MDI!!!! --- progmgr/desktop.c | 9 +++++---- progmgr/group.c | 23 +++++++++++------------ progmgr/icons/src/progmgr.pdn | Bin 6620 -> 6001 bytes progmgr/wndproc.c | 7 +++---- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/progmgr/desktop.c b/progmgr/desktop.c index ed4ca81..5347a99 100644 --- a/progmgr/desktop.c +++ b/progmgr/desktop.c @@ -111,7 +111,7 @@ LRESULT CALLBACK DeskWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar hWndDesktop = hWnd; // Set the window position to shell - SetShellWindow(hWndDesktop); + // SetShellWindow(hWndDesktop); ShowWindow(hWndDesktop, SW_MAXIMIZE); // Strip the border from the desktop window @@ -173,11 +173,12 @@ HWND CreateListView(HWND hWndParent, RECT rc) { HWND hWndListView; LVITEM lviTestItem; - //WCHAR szTestItem[] = L"Test Item\0"; + WCHAR szTestItem[] = L"Test Item"; // Create the ListView hWndListView = CreateWindowEx(WS_EX_LEFT, WC_LISTVIEW, L"", - WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_ICON | LVS_SINGLESEL, + WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | + LVS_ICON | LVS_SINGLESEL, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, hWndParent, (HMENU)ID_LISTVIEW, hAppInstance, NULL); @@ -192,7 +193,7 @@ HWND CreateListView(HWND hWndParent, RECT rc) lviTestItem.iSubItem = 0; lviTestItem.state = 0; lviTestItem.stateMask = 0; - //lviTestItem.pszText = &szTestItem; + lviTestItem.pszText = &szTestItem; lviTestItem.cchTextMax = MAXTITLELEN; // lviTestItem.iImage = 1; diff --git a/progmgr/group.c b/progmgr/group.c index a7d3b37..76740fd 100644 --- a/progmgr/group.c +++ b/progmgr/group.c @@ -32,7 +32,7 @@ LRESULT CALLBACK GroupWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa break; } default: -GrpProcDefault: +// GrpProcDefault: return DefMDIChildProc(hWnd, message, wParam, lParam); } return 0; @@ -49,18 +49,17 @@ HWND TempCreateGroup(HWND hMDIClient) MDICREATESTRUCT mcs; HWND hChild; - mcs.szTitle = L"[Untitled]"; mcs.szClass = szGrpClass; - mcs.hOwner = GetModuleHandle(NULL); - mcs.x = mcs.cx = CW_USEDEFAULT; - mcs.y = mcs.cy = CW_USEDEFAULT; - mcs.style = MDIS_ALLCHILDSTYLES; + mcs.szTitle = L""; + mcs.hOwner = hAppInstance; + mcs.x = mcs.y = mcs.cx = mcs.cy = CW_USEDEFAULT; + mcs.style = WS_VSCROLL | WS_HSCROLL; - hChild = (HWND)SendMessage(hMDIClient, WM_MDICREATE, 0, (LONG)&mcs); - if (!hChild) - { - MessageBox(hMDIClient, L"MDI Child creation failed.", L"Oh Oh...", - MB_ICONEXCLAMATION | MB_OK); - } + hChild = (HWND)SendMessage(hMDIClient, WM_MDICREATE, 0, (LPARAM)(LPTSTR)&mcs); + // if (!hChild) + // { + // MessageBox(hMDIClient, L"MDI Child creation failed.", L"Oh Oh...", + // MB_ICONEXCLAMATION | MB_OK); + // } return hChild; } \ No newline at end of file diff --git a/progmgr/icons/src/progmgr.pdn b/progmgr/icons/src/progmgr.pdn index f29664b924863855e7930d9970e53505c3bd1a56..80444c617458b4d06875ae87034f8cdd68361499 100644 GIT binary patch delta 2552 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 delta 3144 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 LM5??+cOT-PY~gyp diff --git a/progmgr/wndproc.c b/progmgr/wndproc.c index e74f3c7..5a70579 100644 --- a/progmgr/wndproc.c +++ b/progmgr/wndproc.c @@ -39,7 +39,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) // Frame Window hWndProgMgr = hWnd; - // MDI Client Window + // Create the MDI Client Window ccs.hWindowMenu = GetSubMenu(GetMenu(hWnd), IDM_WINDOW); ccs.idFirstChild = IDM_WINDOW_CHILDSTART; @@ -47,7 +47,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) if (!(hWndMDIClient = CreateWindowEx(WS_EX_COMPOSITED, L"MDIClient", NULL, WS_CLIPCHILDREN | WS_CHILD | WS_VSCROLL | WS_HSCROLL | WS_VISIBLE, - // rc.left - 1, rc.top - 1, rc.right + 2, rc.bottom + 2, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hWnd, (HMENU)1, hAppInstance, (LPWSTR)&ccs))) { @@ -66,7 +65,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) if (wParam == IDM_TASKMGR) { ShellExecute(hWndProgMgr, L"open", L"TASKMGR.EXE", NULL, NULL, SW_NORMAL); - break; + return 0; } if (CmdProc(hWnd, wParam, lParam)) @@ -78,7 +77,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) case WM_COMMAND: if (CmdProc(hWnd, wParam, lParam)) - break; + return 0; goto WndProcDefault;