2 * PROJECT: ReactOS Applications
3 * LICENSE: LGPL - See COPYING in the top level directory
4 * FILE: base/applications/msconfig.c
5 * PURPOSE: msconfig main dialog
6 * COPYRIGHT: Copyright 2005-2006 Christoph von Wittich <Christoph@ApiViewer.de>
13 HWND hMainWnd
; /* Main Window */
14 HWND hTabWnd
; /* Tab Control Window */
16 void MsConfig_OnTabWndSelChange(void);
18 BOOL
OnCreate(HWND hWnd
)
23 hTabWnd
= GetDlgItem(hWnd
, IDC_TAB
);
24 hGeneralPage
= CreateDialog(hInst
, MAKEINTRESOURCE(IDD_GENERAL_PAGE
), hWnd
, GeneralPageWndProc
);
25 hSystemPage
= CreateDialog(hInst
, MAKEINTRESOURCE(IDD_SYSTEM_PAGE
), hWnd
, SystemPageWndProc
);
26 hFreeLdrPage
= CreateDialog(hInst
, MAKEINTRESOURCE(IDD_FREELDR_PAGE
), hWnd
, FreeLdrPageWndProc
);
27 hServicesPage
= CreateDialog(hInst
, MAKEINTRESOURCE(IDD_SERVICES_PAGE
), hWnd
, ServicesPageWndProc
);
28 hStartupPage
= CreateDialog(hInst
, MAKEINTRESOURCE(IDD_STARTUP_PAGE
), hWnd
, StartupPageWndProc
);
29 hToolsPage
= CreateDialog(hInst
, MAKEINTRESOURCE(IDD_TOOLS_PAGE
), hWnd
, ToolsPageWndProc
);
31 LoadString(hInst
, IDS_MSCONFIG
, szTemp
, 256);
32 SetWindowText(hWnd
, szTemp
);
35 LoadString(hInst
, IDS_TAB_GENERAL
, szTemp
, 256);
36 memset(&item
, 0, sizeof(TCITEM
));
37 item
.mask
= TCIF_TEXT
;
38 item
.pszText
= szTemp
;
39 (void)TabCtrl_InsertItem(hTabWnd
, 0, &item
);
41 LoadString(hInst
, IDS_TAB_SYSTEM
, szTemp
, 256);
42 memset(&item
, 0, sizeof(TCITEM
));
43 item
.mask
= TCIF_TEXT
;
44 item
.pszText
= szTemp
;
45 (void)TabCtrl_InsertItem(hTabWnd
, 1, &item
);
47 LoadString(hInst
, IDS_TAB_FREELDR
, szTemp
, 256);
48 memset(&item
, 0, sizeof(TCITEM
));
49 item
.mask
= TCIF_TEXT
;
50 item
.pszText
= szTemp
;
51 (void)TabCtrl_InsertItem(hTabWnd
, 2, &item
);
53 LoadString(hInst
, IDS_TAB_SERVICES
, szTemp
, 256);
54 memset(&item
, 0, sizeof(TCITEM
));
55 item
.mask
= TCIF_TEXT
;
56 item
.pszText
= szTemp
;
57 (void)TabCtrl_InsertItem(hTabWnd
, 3, &item
);
59 LoadString(hInst
, IDS_TAB_STARTUP
, szTemp
, 256);
60 memset(&item
, 0, sizeof(TCITEM
));
61 item
.mask
= TCIF_TEXT
;
62 item
.pszText
= szTemp
;
63 (void)TabCtrl_InsertItem(hTabWnd
, 4, &item
);
65 LoadString(hInst
, IDS_TAB_TOOLS
, szTemp
, 256);
66 memset(&item
, 0, sizeof(TCITEM
));
67 item
.mask
= TCIF_TEXT
;
68 item
.pszText
= szTemp
;
69 (void)TabCtrl_InsertItem(hTabWnd
, 5, &item
);
71 MsConfig_OnTabWndSelChange();
77 void MsConfig_OnTabWndSelChange(void)
79 switch (TabCtrl_GetCurSel(hTabWnd
)) {
81 ShowWindow(hGeneralPage
, SW_SHOW
);
82 ShowWindow(hSystemPage
, SW_HIDE
);
83 ShowWindow(hFreeLdrPage
, SW_HIDE
);
84 ShowWindow(hServicesPage
, SW_HIDE
);
85 ShowWindow(hStartupPage
, SW_HIDE
);
86 ShowWindow(hToolsPage
, SW_HIDE
);
87 BringWindowToTop(hGeneralPage
);
90 ShowWindow(hGeneralPage
, SW_HIDE
);
91 ShowWindow(hSystemPage
, SW_SHOW
);
92 ShowWindow(hToolsPage
, SW_HIDE
);
93 ShowWindow(hStartupPage
, SW_HIDE
);
94 ShowWindow(hFreeLdrPage
, SW_HIDE
);
95 ShowWindow(hServicesPage
, SW_HIDE
);
96 BringWindowToTop(hSystemPage
);
99 ShowWindow(hGeneralPage
, SW_HIDE
);
100 ShowWindow(hSystemPage
, SW_HIDE
);
101 ShowWindow(hFreeLdrPage
, SW_SHOW
);
102 ShowWindow(hServicesPage
, SW_HIDE
);
103 ShowWindow(hStartupPage
, SW_HIDE
);
104 ShowWindow(hToolsPage
, SW_HIDE
);
105 BringWindowToTop(hFreeLdrPage
);
108 ShowWindow(hGeneralPage
, SW_HIDE
);
109 ShowWindow(hSystemPage
, SW_HIDE
);
110 ShowWindow(hFreeLdrPage
, SW_HIDE
);
111 ShowWindow(hServicesPage
, SW_SHOW
);
112 ShowWindow(hStartupPage
, SW_HIDE
);
113 ShowWindow(hToolsPage
, SW_HIDE
);
114 BringWindowToTop(hServicesPage
);
117 ShowWindow(hGeneralPage
, SW_HIDE
);
118 ShowWindow(hSystemPage
, SW_HIDE
);
119 ShowWindow(hFreeLdrPage
, SW_HIDE
);
120 ShowWindow(hServicesPage
, SW_HIDE
);
121 ShowWindow(hStartupPage
, SW_SHOW
);
122 ShowWindow(hToolsPage
, SW_HIDE
);
123 BringWindowToTop(hStartupPage
);
126 ShowWindow(hGeneralPage
, SW_HIDE
);
127 ShowWindow(hSystemPage
, SW_HIDE
);
128 ShowWindow(hFreeLdrPage
, SW_HIDE
);
129 ShowWindow(hServicesPage
, SW_HIDE
);
130 ShowWindow(hStartupPage
, SW_HIDE
);
131 ShowWindow(hToolsPage
, SW_SHOW
);
132 BringWindowToTop(hToolsPage
);
138 /* Message handler for dialog box. */
140 MsConfigWndProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
)
150 hIcon
= LoadImage(GetModuleHandle(NULL
),
151 MAKEINTRESOURCE(IDI_APPICON
),
160 return OnCreate(hDlg
);
164 if (LOWORD(wParam
) == IDOK
)
166 //MsConfig_OnSaveChanges();
169 if (LOWORD(wParam
) == IDOK
|| LOWORD(wParam
) == IDCANCEL
) {
170 EndDialog(hDlg
, LOWORD(wParam
));
177 pnmh
= (LPNMHDR
)lParam
;
178 if ((pnmh
->hwndFrom
== hTabWnd
) &&
179 (pnmh
->idFrom
== IDC_TAB
) &&
180 (pnmh
->code
== TCN_SELCHANGE
))
182 MsConfig_OnTabWndSelChange();
188 DestroyWindow(hToolsPage
);
190 DestroyWindow(hGeneralPage
);
192 DestroyWindow(hServicesPage
);
194 DestroyWindow(hStartupPage
);
196 DestroyWindow(hFreeLdrPage
);
198 DestroyWindow(hSystemPage
);
201 return DefWindowProc(hDlg
, message
, wParam
, lParam
);
207 int APIENTRY
_tWinMain(HINSTANCE hInstance
,
208 HINSTANCE hPrevInstance
,
213 INITCOMMONCONTROLSEX InitControls
;
215 UNREFERENCED_PARAMETER(hPrevInstance
);
216 UNREFERENCED_PARAMETER(lpCmdLine
);
217 UNREFERENCED_PARAMETER(nCmdShow
);
219 InitControls
.dwSize
= sizeof(INITCOMMONCONTROLSEX
);
220 InitControls
.dwICC
= ICC_TAB_CLASSES
| ICC_LISTVIEW_CLASSES
;
221 InitCommonControlsEx(&InitControls
);
225 DialogBox(hInst
, (LPCTSTR
)IDD_MSCONFIG_DIALOG
, NULL
, MsConfigWndProc
);