/* * Copyright 1998 Douglas Ridgway * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include "globals.h" #include "resource.h" /* global variables */ HINSTANCE hInst; char szAppName[9]; char szTitle[80]; BOOL InitApplication(HINSTANCE hInstance) { WNDCLASSEX wc; /* Load the application name and description strings */ LoadString(hInstance, IDS_APPNAME, szAppName, sizeof(szAppName)); LoadString(hInstance, IDS_DESCRIPTION, szTitle, sizeof(szTitle)); /* Fill in window class structure with parameters that describe the main window */ wc.cbSize = sizeof(WNDCLASSEX); /* Load small icon image */ wc.hIconSm = LoadImage(hInstance, MAKEINTRESOURCEA(IDI_APPICON), IMAGE_ICON, 16, 16, 0); wc.style = CS_HREDRAW | CS_VREDRAW; /* Class style(s) */ wc.lpfnWndProc = (WNDPROC)WndProc; /* Window Procedure */ wc.cbClsExtra = 0; /* No per-class extra data */ wc.cbWndExtra = 0; /* No per-window extra data */ wc.hInstance = hInstance; /* Owner of this class */ wc.hIcon = LoadIcon(hInstance, szAppName); /* Icon name from .rc */ wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* Cursor */ wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); /* Default color */ wc.lpszMenuName = szAppName; /* Menu name from .rc */ wc.lpszClassName = szAppName; /* Name to register as */ /* Register the window class and return FALSE if unsuccesful */ if (!RegisterClassEx(&wc)) { if (!RegisterClass((LPWNDCLASS)&wc.style)) return FALSE; } /* Call module specific initialization functions here */ return TRUE; } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hwnd; /* Save the instance handle in a global variable for later use */ hInst = hInstance; /* Create main window */ hwnd = CreateWindow(szAppName, /* See RegisterClass() call */ szTitle, /* window title */ WS_OVERLAPPEDWINDOW, /* Window style */ CW_USEDEFAULT, 0, /* positioning */ CW_USEDEFAULT, 0, /* size */ NULL, /* Overlapped has no parent */ NULL, /* Use the window class menu */ hInstance, NULL); if (!hwnd) return FALSE; /* Call module specific instance initialization functions here */ /* show the window, and paint it for the first time */ ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); return TRUE; }