[DEVMGMT_NEW]
[reactos.git] / reactos / base / applications / mscutils / devmgmt_new / MainWindow.h
1 #pragma once
2 #include "DeviceView.h"
3
4 typedef struct _MENU_HINT
5 {
6 WORD CmdId;
7 UINT HintId;
8 } MENU_HINT, *PMENU_HINT;
9
10 class CMainWindow
11 {
12 PCWSTR m_szMainWndClass;
13 CDeviceView *m_DeviceView;
14 HWND m_hMainWnd;
15 HWND m_hStatusBar;
16 HWND m_hToolBar;
17 HIMAGELIST m_ToolbarhImageList;
18 HMENU m_hMenu;
19 int m_CmdShow;
20
21 public:
22 CMainWindow(void);
23 ~CMainWindow(void);
24
25 BOOL Initialize(LPCTSTR lpCaption, int nCmdShow);
26 INT Run();
27 VOID Uninitialize();
28
29 private:
30 static LRESULT CALLBACK MainWndProc(
31 HWND hwnd,
32 UINT msg,
33 WPARAM wParam,
34 LPARAM lParam
35 );
36
37 LRESULT OnCreate(HWND hwnd);
38 LRESULT OnDestroy();
39 LRESULT OnSize();
40 LRESULT OnNotify(LPARAM lParam);
41 LRESULT OnContext(LPARAM lParam);
42 LRESULT OnCommand(WPARAM wParam, LPARAM lParam);
43
44 BOOL CreateToolBar();
45 BOOL CreateStatusBar();
46
47 BOOL StatusBarLoadString(
48 HWND hStatusBar,
49 INT PartId,
50 HINSTANCE hInstance,
51 UINT uID
52 );
53
54 BOOL MainWndMenuHint(
55 WORD CmdId,
56 const MENU_HINT *HintArray,
57 DWORD HintsCount,
58 UINT DefHintId
59 );
60
61 BOOL UpdateDevicesDisplay(
62 ListDevices List
63 );
64 };
65