|
|
1.1 root 1: /*---------------------------------------------------------------------------*\
2: | MAZE MODULE
3: |
4: | segment: _TEXT (DOS16)
5: | created: 31-Oct-90
6: | history: 31-Oct-90 <chriswil> created.
7: |
8: \*---------------------------------------------------------------------------*/
9:
10: #include <windows.h>
11: #include "gdidemo.h"
12: #include "maze.h"
13:
14: /*---------------------------------------------------------------------------*\
15: | CREATE MAZE WINDOW PROCEDURE
16: |
17: | created: 31-Oct-90
18: | history: 31-Oct-90 <chriswil> created.
19: |
20: \*---------------------------------------------------------------------------*/
21: HWND FAR CreateMazeWindow(HWND hWndClient, int nItem)
22: {
23: HANDLE hInstance;
24: MDICREATESTRUCT mcs;
25:
26:
27: hInstance = GETINSTANCE(hWndClient);
28:
29: /*
30: ** Initialize the MDI create struct for creation of the
31: ** test window.
32: */
33: mcs.szClass = MAZECLASS;
34: mcs.szTitle = MAZETITLE;
35: mcs.hOwner = hInstance;
36: mcs.x = CW_USEDEFAULT;
37: mcs.y = CW_USEDEFAULT;
38: mcs.cx = CW_USEDEFAULT;
39: mcs.cy = CW_USEDEFAULT;
40: mcs.style = 0l;
41: mcs.lParam = (LONG)nItem;
42:
43: return((HWND)SendMessage(hWndClient,WM_MDICREATE,NULL,(LONG)(LPMDICREATESTRUCT)&mcs));
44: }
45:
46:
47: /*---------------------------------------------------------------------------*\
48: | MAZE WINDOW PROCEDURE
49: |
50: | created: 31-Oct-90
51: | history: 31-Oct-90 <chriswil> created.
52: |
53: \*---------------------------------------------------------------------------*/
54: LONG APIENTRY MazeProc(HWND hWnd, UINT wMsg, WPARAM wParam, LONG lParam)
55: {
56: switch(wMsg)
57: {
58: case WM_CREATE:
59: MazeCreateProc(hWnd);
60: break;
61:
62:
63: case WM_COMMAND:
64: MazeCommandProc(hWnd,wParam,lParam);
65: break;
66:
67: case WM_TIMER:
68: DrawMaze(hWnd);
69: break;
70:
71:
72: case WM_PAINT:
73: MazePaintProc(hWnd);
74: break;
75:
76:
77: case WM_DESTROY:
78: MazeDestroyProc(hWnd);
79: break;
80:
81:
82: default:
83: return(DefMDIChildProc(hWnd,wMsg,wParam,lParam));
84: }
85: return(0l);
86: }
87:
88:
89: /*---------------------------------------------------------------------------*\
90: | MAZE CREATE PROCEDURE
91: |
92: | created: 31-Oct-90
93: | history: 31-Oct-90 <chriswil> created.
94: |
95: \*---------------------------------------------------------------------------*/
96: BOOL MazeCreateProc(HWND hWnd)
97: {
98: PMAZEDATA ppd;
99:
100:
101: if(AllocWindowInfo(hWnd,sizeof(MAZEDATA)))
102: {
103: if(ppd = (PMAZEDATA)LockWindowInfo(hWnd))
104: {
105: UnlockWindowInfo(hWnd);
106: return(TRUE);
107: }
108: FreeWindowInfo(hWnd);
109: }
110: return(FALSE);
111: }
112:
113:
114: /*---------------------------------------------------------------------------*\
115: | MAZE COMMAND PROCEDURE
116: |
117: | created: 31-Oct-90
118: | history: 31-Oct-90 <chriswil> created.
119: |
120: \*---------------------------------------------------------------------------*/
121: BOOL MazeCommandProc(HWND hWnd, WPARAM wParam, LONG lParam)
122: {
123: hWnd = hWnd;
124: wParam = wParam;
125: lParam = lParam;
126:
127: return(TRUE);
128: }
129:
130:
131: /*---------------------------------------------------------------------------*\
132: | MAZE PAINT PROCEDURE
133: |
134: | created: 31-Oct-90
135: | history: 31-Oct-90 <chriswil> created.
136: |
137: \*---------------------------------------------------------------------------*/
138: VOID MazePaintProc(HWND hWnd)
139: {
140: HDC hDC;
141: PAINTSTRUCT ps;
142:
143:
144: if(hDC = BeginPaint(hWnd,&ps))
145: EndPaint(hWnd,&ps);
146:
147: return;
148: }
149:
150:
151: /*---------------------------------------------------------------------------*\
152: | MAZE DESTROY PROCEDURE
153: |
154: | created: 31-Oct-90
155: | history: 31-Oct-90 <chriswil> created.
156: |
157: \*---------------------------------------------------------------------------*/
158: VOID MazeDestroyProc(HWND hWnd)
159: {
160: KillTimer(hWnd,1);
161: FreeWindowInfo(hWnd);
162: return;
163: }
164:
165:
166: VOID DrawMaze(HWND hWnd)
167: {
168: hWnd = hWnd;
169:
170: return;
171: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.