Author: gedmurphy Date: Fri Sep 9 19:10:11 2011 New Revision: 53664
URL: http://svn.reactos.org/svn/reactos?rev=53664&view=rev Log: [DEVMGMT] Add the treeview and resize data. It now somewhat resembles an app.
Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp
Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/... ============================================================================== --- trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp [iso-8859-1] Fri Sep 9 19:10:11 2011 @@ -1,8 +1,13 @@ #include "StdAfx.h" +#include "devmgmt.h" #include "DeviceView.h"
-CDeviceView::CDeviceView(void) +CDeviceView::CDeviceView(HWND hMainWnd) : + m_hMainWnd(hMainWnd), + m_hTreeView(NULL), + m_hPropertyDialog(NULL), + m_hShortcutMenu(NULL) { }
@@ -14,7 +19,41 @@ BOOL CDeviceView::Initialize() { + /* Create the main treeview */ + m_hTreeView = CreateWindowExW(WS_EX_CLIENTEDGE, + WC_TREEVIEW, + NULL, + WS_CHILD | WS_VISIBLE | WS_BORDER | TVS_HASLINES | + TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_LINESATROOT, + 0, 0, 0, 0, + m_hMainWnd, + (HMENU)IDC_TREEVIEW, + g_hInstance, + NULL); + if (m_hTreeView) + { + + } + + return !!(m_hTreeView); + return TRUE; +} + +VOID +CDeviceView::Size(INT x, + INT y, + INT cx, + INT cy) +{ + /* Resize the treeview */ + SetWindowPos(m_hTreeView, + NULL, + x, + y, + cx, + cy, + SWP_NOZORDER); }
BOOL
Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/... ============================================================================== --- trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h [iso-8859-1] Fri Sep 9 19:10:11 2011 @@ -3,16 +3,19 @@
class CDeviceView : public CDevices { + HWND m_hMainWnd; + HWND m_hTreeView; HWND m_hPropertyDialog; HWND m_hShortcutMenu;
public: - CDeviceView(void); + CDeviceView(HWND hMainWnd); ~CDeviceView(void);
BOOL Initialize(); BOOL Uninitialize();
+ VOID Size(INT x, INT y, INT cx, INT cy); VOID Refresh(); VOID DisplayPropertySheet(); VOID SetFocus();
Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/... ============================================================================== --- trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp [iso-8859-1] Fri Sep 9 19:10:11 2011 @@ -208,7 +208,7 @@ if (CreateStatusBar()) { /* Create the device view object */ - m_DeviceView = new CDeviceView(); + m_DeviceView = new CDeviceView(m_hMainWnd);
/* Initialize it */ if (m_DeviceView->Initialize()) @@ -217,12 +217,47 @@ ShowWindow(hwnd, m_CmdShow);
/* Set as handled */ - //RetCode = 0; + RetCode = 0; } } }
return RetCode; +} + +LRESULT +CMainWindow::OnSize() +{ + RECT rcClient, rcTool, rcStatus; + INT lvHeight, iToolHeight, iStatusHeight; + + /* Autosize the toolbar */ + SendMessage(m_hToolBar, TB_AUTOSIZE, 0, 0); + + /* Get the toolbar rect and save the height */ + GetWindowRect(m_hToolBar, &rcTool); + iToolHeight = rcTool.bottom - rcTool.top; + + /* Resize the status bar */ + SendMessage(m_hStatusBar, WM_SIZE, 0, 0); + + /* Get the statusbar rect and save the height */ + GetWindowRect(m_hStatusBar, &rcStatus); + iStatusHeight = rcStatus.bottom - rcStatus.top; + + /* Get the full client rect */ + GetClientRect(m_hMainWnd, &rcClient); + + /* Calculate the remaining height for the treeview */ + lvHeight = rcClient.bottom - iToolHeight - iStatusHeight; + + /* Resize the device view */ + m_DeviceView->Size(0, + iToolHeight, + rcClient.right, + lvHeight); + + return 0; }
LRESULT @@ -348,6 +383,12 @@
/* Call the create handler */ RetCode = pThis->OnCreate(hwnd); + break; + } + + case WM_SIZE: + { + RetCode = pThis->OnSize(); break; }