6f1d4579e1ebb911e20992fafc6616164c28e277
6 * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
33 ////////////////////////////////////////////////////////////////////////////////
40 TCHAR szTitle
[MAX_LOADSTRING
];
41 TCHAR szFrameClass
[MAX_LOADSTRING
];
44 ////////////////////////////////////////////////////////////////////////////////
46 // FUNCTION: InitInstance(HANDLE, int)
48 // PURPOSE: creates main window
51 BOOL
InitInstance(HINSTANCE hInstance
, int nCmdShow
)
53 WNDCLASSEX wcFrame
= {
55 CS_HREDRAW
| CS_VREDRAW
/*style*/,
60 LoadIcon(hInstance
, MAKEINTRESOURCE(IDI_ZOOMIN
)),
61 LoadCursor(0, IDC_ARROW
),
62 0,//(HBRUSH)(COLOR_BTNFACE+1),
65 (HICON
)LoadImage(hInstance
, MAKEINTRESOURCE(IDI_ZOOMIN
), IMAGE_ICON
,
66 GetSystemMetrics(SM_CXSMICON
), GetSystemMetrics(SM_CYSMICON
), LR_SHARED
)
68 ATOM hFrameWndClass
= RegisterClassEx(&wcFrame
); // register frame window class
70 hMenuFrame
= LoadMenu(hInstance
, MAKEINTRESOURCE(IDR_ZOOMIN_MENU
));
72 hFrameWnd
= CreateWindowEx(0, (LPCTSTR
)(int)hFrameWndClass
, szTitle
,
73 WS_OVERLAPPEDWINDOW
| WS_EX_CLIENTEDGE
,
74 CW_USEDEFAULT
, CW_USEDEFAULT
, 250, 250,
75 NULL
, hMenuFrame
, hInstance
, NULL
/*lpParam*/);
81 ShowWindow(hFrameWnd
, nCmdShow
);
82 UpdateWindow(hFrameWnd
);
86 ////////////////////////////////////////////////////////////////////////////////
88 void ExitInstance(void)
90 DestroyMenu(hMenuFrame
);
94 int APIENTRY
WinMain(HINSTANCE hInstance
,
95 HINSTANCE hPrevInstance
,
102 // Initialize global strings
103 LoadString(hInstance
, IDS_APP_TITLE
, szTitle
, MAX_LOADSTRING
);
104 LoadString(hInstance
, IDC_ZOOMIN
, szFrameClass
, MAX_LOADSTRING
);
106 // Perform application initialization:
107 if (!InitInstance(hInstance
, nCmdShow
)) {
111 hAccel
= LoadAccelerators(hInstance
, (LPCTSTR
)IDC_ZOOMIN
);
113 // Main message loop:
114 while (GetMessage(&msg
, (HWND
)NULL
, 0, 0)) {
115 if (!TranslateAccelerator(msg
.hwnd
, hAccel
, &msg
)) {
116 TranslateMessage(&msg
);
117 DispatchMessage(&msg
);