msacm: Fix acmMetrics(ACM_METRIC_DRIVER_PRIORITY) return on error.
[wine/multimedia.git] / programs / view / init.c
blob58a0abffab6dad56713e10026e338b7183e25bd4
1 /*
2 * Copyright 1998 Douglas Ridgway
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.
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.
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
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #include <windows.h>
20 #include "globals.h"
21 #include "resource.h"
23 /* global variables */
25 HINSTANCE hInst;
26 char szAppName[9];
27 char szTitle[80];
29 BOOL InitApplication(HINSTANCE hInstance)
31 WNDCLASSEX wc;
33 /* Load the application name and description strings */
35 LoadString(hInstance, IDS_APPNAME, szAppName, sizeof(szAppName));
36 LoadString(hInstance, IDS_DESCRIPTION, szTitle, sizeof(szTitle));
38 /* Fill in window class structure with parameters that describe the
39 main window */
41 wc.cbSize = sizeof(WNDCLASSEX);
43 /* Load small icon image */
44 wc.hIconSm = LoadImage(hInstance,
45 MAKEINTRESOURCEA(IDI_APPICON),
46 IMAGE_ICON,
47 16, 16,
48 0);
50 wc.style = CS_HREDRAW | CS_VREDRAW; /* Class style(s) */
51 wc.lpfnWndProc = WndProc; /* Window Procedure */
52 wc.cbClsExtra = 0; /* No per-class extra data */
53 wc.cbWndExtra = 0; /* No per-window extra data */
54 wc.hInstance = hInstance; /* Owner of this class */
55 wc.hIcon = LoadIcon(hInstance, szAppName); /* Icon name from .rc */
56 wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* Cursor */
57 wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); /* Default color */
58 wc.lpszMenuName = szAppName; /* Menu name from .rc */
59 wc.lpszClassName = szAppName; /* Name to register as */
61 /* Register the window class and return FALSE if unsuccesful */
63 if (!RegisterClassEx(&wc))
65 if (!RegisterClass((LPWNDCLASS)&wc.style))
66 return FALSE;
69 /* Call module specific initialization functions here */
71 return TRUE;
74 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
76 HWND hwnd;
78 /* Save the instance handle in a global variable for later use */
79 hInst = hInstance;
81 /* Create main window */
82 hwnd = CreateWindow(szAppName, /* See RegisterClass() call */
83 szTitle, /* window title */
84 WS_OVERLAPPEDWINDOW, /* Window style */
85 CW_USEDEFAULT, 0, /* positioning */
86 CW_USEDEFAULT, 0, /* size */
87 NULL, /* Overlapped has no parent */
88 NULL, /* Use the window class menu */
89 hInstance,
90 NULL);
92 if (!hwnd)
93 return FALSE;
95 /* Call module specific instance initialization functions here */
97 /* show the window, and paint it for the first time */
98 ShowWindow(hwnd, nCmdShow);
99 UpdateWindow(hwnd);
101 return TRUE;