Commit | Line | Data |
---|---|---|
0799c1a7 AJ |
1 | /* |
2 | * Copyright 1998 Douglas Ridgway | |
3 | * | |
4 | * This library is free software; you can redistribute it and/or | |
5 | * modify it under the terms of the GNU Lesser General Public | |
6 | * License as published by the Free Software Foundation; either | |
7 | * version 2.1 of the License, or (at your option) any later version. | |
8 | * | |
9 | * This library is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 | * Lesser General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU Lesser General Public | |
15 | * License along with this library; if not, write to the Free Software | |
360a3f91 | 16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
0799c1a7 AJ |
17 | */ |
18 | ||
a11d7b1a AJ |
19 | #include <windows.h> |
20 | #include "globals.h" | |
52be93cb | 21 | #include "resource.h" |
a11d7b1a AJ |
22 | |
23 | /* global variables */ | |
24 | ||
25 | HINSTANCE hInst; | |
0ffa2b58 | 26 | char szAppName[5] = "View"; |
481701b7 | 27 | char szTitle[80]; |
a11d7b1a AJ |
28 | |
29 | BOOL InitApplication(HINSTANCE hInstance) | |
30 | { | |
31 | WNDCLASSEX wc; | |
32 | ||
0ffa2b58 | 33 | /* Load the application description strings */ |
a11d7b1a AJ |
34 | LoadString(hInstance, IDS_DESCRIPTION, szTitle, sizeof(szTitle)); |
35 | ||
36 | /* Fill in window class structure with parameters that describe the | |
37 | main window */ | |
38 | ||
39 | wc.cbSize = sizeof(WNDCLASSEX); | |
40 | ||
41 | /* Load small icon image */ | |
9a624916 | 42 | wc.hIconSm = LoadImage(hInstance, |
a3960292 | 43 | MAKEINTRESOURCEA(IDI_APPICON), |
a11d7b1a AJ |
44 | IMAGE_ICON, |
45 | 16, 16, | |
46 | 0); | |
47 | ||
48 | wc.style = CS_HREDRAW | CS_VREDRAW; /* Class style(s) */ | |
cba8763c | 49 | wc.lpfnWndProc = WndProc; /* Window Procedure */ |
a11d7b1a AJ |
50 | wc.cbClsExtra = 0; /* No per-class extra data */ |
51 | wc.cbWndExtra = 0; /* No per-window extra data */ | |
52 | wc.hInstance = hInstance; /* Owner of this class */ | |
53 | wc.hIcon = LoadIcon(hInstance, szAppName); /* Icon name from .rc */ | |
54 | wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* Cursor */ | |
55 | wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); /* Default color */ | |
56 | wc.lpszMenuName = szAppName; /* Menu name from .rc */ | |
57 | wc.lpszClassName = szAppName; /* Name to register as */ | |
58 | ||
06f9532d | 59 | /* Register the window class and return FALSE if unsuccessful */ |
a11d7b1a AJ |
60 | |
61 | if (!RegisterClassEx(&wc)) | |
62 | { | |
63 | if (!RegisterClass((LPWNDCLASS)&wc.style)) | |
64 | return FALSE; | |
65 | } | |
66 | ||
67 | /* Call module specific initialization functions here */ | |
68 | ||
69 | return TRUE; | |
70 | } | |
71 | ||
72 | BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) | |
73 | { | |
9a624916 | 74 | HWND hwnd; |
a11d7b1a AJ |
75 | |
76 | /* Save the instance handle in a global variable for later use */ | |
77 | hInst = hInstance; | |
78 | ||
79 | /* Create main window */ | |
80 | hwnd = CreateWindow(szAppName, /* See RegisterClass() call */ | |
81 | szTitle, /* window title */ | |
82 | WS_OVERLAPPEDWINDOW, /* Window style */ | |
83 | CW_USEDEFAULT, 0, /* positioning */ | |
84 | CW_USEDEFAULT, 0, /* size */ | |
85 | NULL, /* Overlapped has no parent */ | |
86 | NULL, /* Use the window class menu */ | |
9a624916 VB |
87 | hInstance, |
88 | NULL); | |
89 | ||
a11d7b1a AJ |
90 | if (!hwnd) |
91 | return FALSE; | |
92 | ||
93 | /* Call module specific instance initialization functions here */ | |
94 | ||
95 | /* show the window, and paint it for the first time */ | |
96 | ShowWindow(hwnd, nCmdShow); | |
97 | UpdateWindow(hwnd); | |
98 | ||
99 | return TRUE; | |
100 | } |