|
|
1.1 root 1: #include <string.h>
2: #include <stdio.h>
3: #include "server.h"
4: #include "huge.h"
5:
6: /****************************************************************************
7: * *
8: * FUNCTION : DoDialog() *
9: * *
10: * PURPOSE : Generic dialog invocation routine. Handles procInstance *
1.1.1.2 ! root 11: * stuff, focus management and param passing. *
1.1 root 12: * RETURNS : result of dialog procedure. *
13: * *
14: ****************************************************************************/
15: INT FAR DoDialog(
16: LPSTR lpTemplateName,
1.1.1.2 ! root 17: DLGPROC lpDlgProc,
! 18: LPARAM param,
1.1 root 19: BOOL fRememberFocus)
20: {
1.1.1.2 ! root 21: INT iRet;
1.1 root 22: HWND hwndFocus;
23: WORD cRunawayT;
24:
25: cRunawayT = cRunaway;
26: cRunaway = 0; // turn off runaway during dialogs.
1.1.1.2 ! root 27:
1.1 root 28: if (fRememberFocus)
29: hwndFocus = GetFocus();
30: lpDlgProc = MakeProcInstance(lpDlgProc, hInst);
1.1.1.2 ! root 31: iRet = DialogBoxParam(hInst, lpTemplateName, hwndServer, lpDlgProc, param);
1.1 root 32: FreeProcInstance(lpDlgProc);
33: if (fRememberFocus)
34: SetFocus(hwndFocus);
35:
36: cRunaway = cRunawayT; // restore runaway state.
1.1.1.2 ! root 37: return iRet;
1.1 root 38: }
39:
40:
41: /****************************************************************************
42:
43: FUNCTION: About(HWND, unsigned, WORD, LONG)
44:
45: PURPOSE: Processes messages for "About" dialog box
46:
47: MESSAGES:
48:
49: WM_INITDIALOG - initialize dialog box
50: WM_COMMAND - Input received
51:
52: COMMENTS:
53:
54: No initialization is needed for this particular dialog box, but TRUE
55: must be returned to Windows.
56:
57: Wait for user to click on "Ok" button, then close the dialog box.
58:
59: ****************************************************************************/
60:
61: BOOL APIENTRY About(hDlg, message, wParam, lParam)
62: HWND hDlg; /* window handle of the dialog box */
63: UINT message; /* type of message */
64: WPARAM wParam; /* message-specific information */
1.1.1.2 ! root 65: LPARAM lParam;
1.1 root 66: {
67: switch (message) {
68: case WM_INITDIALOG: /* message: initialize dialog box */
69: return (TRUE);
70:
71: case WM_COMMAND: /* message: received a command */
1.1.1.2 ! root 72: if (LOWORD(wParam) == IDOK /* "OK" box selected? */
! 73: || LOWORD(wParam) == IDCANCEL) { /* System menu close command? */
1.1 root 74: EndDialog(hDlg, TRUE); /* Exits the dialog box */
75: return (TRUE);
76: }
77: break;
78: }
79: return (FALSE); /* Didn't process a message */
80: }
81:
82:
83:
84:
85: BOOL APIENTRY RenderDelayDlgProc(
86: HWND hwnd,
87: register UINT msg,
88: register WPARAM wParam,
1.1.1.2 ! root 89: LPARAM lParam)
1.1 root 90: {
91: switch (msg){
92: case WM_INITDIALOG:
93: SetWindowText(hwnd, "Data Render Delay");
94: SetDlgItemInt(hwnd, IDEF_VALUE, RenderDelay, FALSE);
95: SetDlgItemText(hwnd, IDTX_VALUE, "Delay in milliseconds:");
96: return(1);
97: break;
98:
99: case WM_COMMAND:
1.1.1.2 ! root 100: switch (LOWORD(wParam)) {
1.1 root 101: case IDOK:
102: RenderDelay = GetDlgItemInt(hwnd, IDEF_VALUE, NULL, FALSE);
1.1.1.2 ! root 103: // fall through
1.1 root 104: case IDCANCEL:
105: EndDialog(hwnd, 0);
106: break;
107:
108: default:
109: return(FALSE);
110: }
111: break;
112: }
113: return(FALSE);
114: }
115:
116:
117:
118:
119: BOOL APIENTRY SetTopicDlgProc(
120: HWND hwnd,
121: register UINT msg,
122: register WPARAM wParam,
1.1.1.2 ! root 123: LPARAM lParam)
1.1 root 124: {
125: CHAR szT[MAX_TOPIC + 10];
1.1.1.2 ! root 126:
1.1 root 127: switch (msg){
128: case WM_INITDIALOG:
129: SetWindowText(hwnd, "Set Topic Dialog");
130: SetDlgItemText(hwnd, IDEF_VALUE, szTopic);
131: SetDlgItemText(hwnd, IDTX_VALUE, "Topic:");
132: return(1);
133: break;
134:
135: case WM_COMMAND:
1.1.1.2 ! root 136: switch (LOWORD(wParam)) {
1.1 root 137: case IDOK:
138: DdeFreeStringHandle(idInst, topicList[1].hszTopic);
139: GetDlgItemText(hwnd, IDEF_VALUE, szTopic, MAX_TOPIC);
140: topicList[1].hszTopic = DdeCreateStringHandle(idInst, szTopic, 0);
141: strcpy(szT, szServer);
142: strcat(szT, " | ");
143: strcat(szT, szTopic);
144: SetWindowText(hwndServer, szT);
1.1.1.2 ! root 145: // fall through
1.1 root 146: case IDCANCEL:
147: EndDialog(hwnd, 0);
148: break;
149:
150: default:
151: return(FALSE);
152: }
153: break;
154: }
155: return(FALSE);
156: }
157:
158:
159: BOOL APIENTRY SetServerDlgProc(
160: HWND hwnd,
161: register UINT msg,
162: register WPARAM wParam,
1.1.1.2 ! root 163: LPARAM lParam)
1.1 root 164: {
165: CHAR szT[MAX_TOPIC + 10];
1.1.1.2 ! root 166:
1.1 root 167: switch (msg){
168: case WM_INITDIALOG:
169: SetWindowText(hwnd, "Set Server Name Dialog");
170: SetDlgItemText(hwnd, IDEF_VALUE, szServer);
171: SetDlgItemText(hwnd, IDTX_VALUE, "Server:");
172: return(1);
173: break;
174:
175: case WM_COMMAND:
1.1.1.2 ! root 176: switch (LOWORD(wParam)) {
1.1 root 177: case IDOK:
178: GetDlgItemText(hwnd, IDEF_VALUE, szServer, MAX_TOPIC);
179: DdeNameService(idInst, hszAppName, 0, DNS_UNREGISTER);
180: DdeFreeStringHandle(idInst, hszAppName);
181: hszAppName = DdeCreateStringHandle(idInst, szServer, 0);
182: DdeNameService(idInst, hszAppName, 0, DNS_REGISTER);
183: strcpy(szT, szServer);
184: strcat(szT, " | ");
185: strcat(szT, szTopic);
186: SetWindowText(hwndServer, szT);
1.1.1.2 ! root 187: // fall through
1.1 root 188: case IDCANCEL:
189: EndDialog(hwnd, 0);
190: break;
191:
192: default:
193: return(FALSE);
194: }
195: break;
196: }
197: return(FALSE);
198: }
199:
200:
201:
202:
203: BOOL APIENTRY ContextDlgProc(
204: HWND hwnd,
205: register UINT msg,
206: register WPARAM wParam,
1.1.1.2 ! root 207: LPARAM lParam)
1.1 root 208: {
209: BOOL fSuccess;
1.1.1.2 ! root 210:
1.1 root 211: switch (msg){
212: case WM_INITDIALOG:
213: SetDlgItemInt(hwnd, IDEF_FLAGS, CCFilter.wFlags, FALSE);
214: SetDlgItemInt(hwnd, IDEF_COUNTRY, CCFilter.wCountryID, FALSE);
215: SetDlgItemInt(hwnd, IDEF_CODEPAGE, CCFilter.iCodePage, TRUE);
216: SetDlgItemInt(hwnd, IDEF_LANG, LOWORD(CCFilter.dwLangID), FALSE);
217: SetDlgItemInt(hwnd, IDEF_SECURITY, LOWORD(CCFilter.dwSecurity), FALSE);
218: return(1);
219: break;
220:
221: case WM_COMMAND:
1.1.1.2 ! root 222: switch (LOWORD(wParam)) {
1.1 root 223: case IDOK:
224: CCFilter.wFlags = GetDlgItemInt(hwnd, IDEF_FLAGS, &fSuccess, FALSE);
225: if (!fSuccess) return(0);
226: CCFilter.wCountryID = GetDlgItemInt(hwnd, IDEF_COUNTRY, &fSuccess, FALSE);
227: if (!fSuccess) return(0);
228: CCFilter.iCodePage = GetDlgItemInt(hwnd, IDEF_CODEPAGE, &fSuccess, TRUE);
229: if (!fSuccess) return(0);
230: CCFilter.dwLangID = (DWORD)GetDlgItemInt(hwnd, IDEF_LANG, &fSuccess, FALSE);
231: if (!fSuccess) return(0);
232: CCFilter.dwSecurity = (DWORD)GetDlgItemInt(hwnd, IDEF_SECURITY, &fSuccess, FALSE);
233: if (!fSuccess) return(0);
1.1.1.2 ! root 234:
! 235: // fall through
1.1 root 236: case IDCANCEL:
237: EndDialog(hwnd, 0);
238: break;
239:
240: default:
241: return(FALSE);
242: }
243: break;
244: }
245: return(FALSE);
246: }
1.1.1.2 ! root 247:
! 248:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.