home *** CD-ROM | disk | FTP | other *** search
- /* LISTING 2: C functions to encapsulate the MS Windows
- WNDCLASS.
- */
- #include "windows.h"
-
- typedef int BOOL;
- typedef WNDCLASS MYWCLASS;
- typedef WNDPROC MYWNDPROC;
- typedef HINSTANCE MYHINSTANCE;
- typedef HCURSOR MYHCURSOR;
- typedef HBRUSH MYHBRUSH;
-
- void WCL_Init (MYWCLASS *wndclass, char *szAppName,
- MYWNDPROC WndProc, MYHINSTANCE hInstance,
- char *szMenuName)
- {
- wndclass->style = CS_HREDRAW | CS_VREDRAW;
- wndclass->lpfnWndProc = WndProc;
- wndclass->cbClsExtra = 0;
- wndclass->cbWndExtra = 0;
- wndclass->hInstance = hInstance;
- wndclass->hIcon = LoadIcon (NULL, IDI_APPLICATION);
- wndclass->hCursor = LoadCursor (NULL, IDC_ARROW);
- wndclass->hbrBackground =
- GetStockObject (WHITE_BRUSH);
- wndclass->lpszMenuName = szMenuName;
- wndclass->lpszClassName = szAppName;
- }
-
- void WCL_SetCursor (MYWCLASS *wndclass,
- MYHCURSOR hCursor)
- {
- wndclass->hCursor = hCursor;
- }
-
- void WCL_SetBackground (MYWCLASS *wndclass,
- MYHBRUSH hbrBackground)
- {
- wndclass->hbrBackground = hbrBackground;
- }
-
- void WCL_SetMenu (MYWCLASS *wndclass, char *szMenuName)
- {
- wndclass->lpszMenuName = szMenuName;
- }
-
- BOOL WCL_RegisterClass (MYWCLASS *wndclass)
- {
- return (RegisterClass (wndclass));
- }
-
-
-