source: trunk/dll/presparm.c@ 1186

Last change on this file since 1186 was 1186, checked in by John Small, 17 years ago

Ticket 187: Draft 2: Move remaining function declarations

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 19.0 KB
Line 
1
2/***********************************************************************
3
4 $Id: presparm.c 1186 2008-09-10 21:57:37Z jbs $
5
6 Edit presentation parameters
7
8 Copyright (c) 1993-98 M. Kimes
9 Copyright (c) 2006 Steven H.Levine
10
11 22 Jul 06 SHL Check more run time errors
12 20 Aug 07 GKY Move #pragma alloc_text to end for OpenWatcom compat
13 22 Nov 07 GKY Use CopyPresParams to fix presparam inconsistencies in menus
14 10 Dec 07 GKY Updated CopyPresParams to copy all parameter types
15
16***********************************************************************/
17
18#include <string.h>
19
20#define INCL_WIN
21#define INCL_LONGLONG // dircnrs.h
22
23#include "fm3dll.h"
24#include "presparm.h"
25#include "wrappers.h" // xmalloc
26#include "fortify.h"
27
28// static PSZ pszSrcFile = __FILE__;
29
30//static VOID IfNoParam(HWND hwnd, CHAR * keyroot, ULONG size, PVOID attrvalue);
31
32//static VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof);
33
34#ifdef NEVER
35/*
36 * this routine will fill a buffer with all defined window pres params
37 * the PRESPARAMS structure returned is suitable to be passed as
38 * pPresParams ie. WinCreateWindow(,,,,,,,,,,,, PVOID pPresParams)
39 */
40VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof)
41{
42 PARAM *pparam;
43 PRESPARAMS *ppresparams;
44
45 if (!tagname || !*tagname || !prof)
46 return;
47 /* setup memory access */
48 ppresparams = (PRESPARAMS *) xmalloc(PP_MAXBUF, pszSrcFile, __LINE__);
49 if (!ppresparams)
50 return;
51 ppresparams->cb = 0; /* no entries yet */
52 pparam = ppresparams->aparam; /* cast structure onto memory */
53
54 /*
55 * query every possible presentation parameter...
56 */
57
58 /* foreground color -- takes 12 bytes */
59 pparam->cb = WinQueryPresParam(hwnd,
60 PP_FOREGROUNDCOLOR,
61 PP_FOREGROUNDCOLORINDEX,
62 &pparam->id,
63 sizeof(LONG),
64 (PVOID) pparam->ab, QPF_NOINHERIT);
65 if (pparam->cb) { /* was the param found? */
66 ppresparams->cb += 12; /* used 12 bytes */
67 pparam = (PPARAM) (((ULONG) pparam) + 12); /* advance 12 bytes to next memory location */
68 }
69
70 /* background color -- takes 12 bytes */
71 pparam->cb = WinQueryPresParam(hwnd,
72 PP_BACKGROUNDCOLOR,
73 PP_BACKGROUNDCOLORINDEX,
74 &pparam->id,
75 sizeof(LONG),
76 (PVOID) pparam->ab, QPF_NOINHERIT);
77 if (pparam->cb) {
78 ppresparams->cb += 12;
79 pparam = (PPARAM) (((ULONG) pparam) + 12);
80 }
81
82 /* hilited foreground color -- takes 12 bytes */
83 pparam->cb = WinQueryPresParam(hwnd,
84 PP_HILITEFOREGROUNDCOLOR,
85 PP_HILITEFOREGROUNDCOLORINDEX,
86 &pparam->id,
87 sizeof(LONG),
88 (PVOID) pparam->ab, QPF_NOINHERIT);
89 if (pparam->cb) {
90 ppresparams->cb += 12;
91 pparam = (PPARAM) (((ULONG) pparam) + 12);
92 }
93
94 /* hilited background color -- takes 12 bytes */
95 pparam->cb = WinQueryPresParam(hwnd,
96 PP_HILITEBACKGROUNDCOLOR,
97 PP_HILITEBACKGROUNDCOLORINDEX,
98 &pparam->id,
99 sizeof(LONG),
100 (PVOID) pparam->ab, QPF_NOINHERIT);
101 if (pparam->cb) {
102 ppresparams->cb += 12;
103 pparam = (PPARAM) (((ULONG) pparam) + 12);
104 }
105
106 /* disabled foreground color -- takes 12 bytes */
107 pparam->cb = WinQueryPresParam(hwnd,
108 PP_DISABLEDFOREGROUNDCOLOR,
109 PP_DISABLEDFOREGROUNDCOLORINDEX,
110 &pparam->id,
111 sizeof(LONG),
112 (PVOID) pparam->ab, QPF_NOINHERIT);
113 if (pparam->cb) {
114 ppresparams->cb += 12;
115 pparam = (PPARAM) (((ULONG) pparam) + 12);
116 }
117
118 /* disabled background color -- takes 12 bytes */
119 pparam->cb = WinQueryPresParam(hwnd,
120 PP_DISABLEDBACKGROUNDCOLOR,
121 PP_DISABLEDBACKGROUNDCOLORINDEX,
122 &pparam->id,
123 sizeof(LONG),
124 (PVOID) pparam->ab, QPF_NOINHERIT);
125 if (pparam->cb) {
126 ppresparams->cb += 12;
127 pparam = (PPARAM) (((ULONG) pparam) + 12);
128 }
129
130 /* border color -- takes 12 bytes */
131 pparam->cb = WinQueryPresParam(hwnd,
132 PP_BORDERCOLOR,
133 PP_BORDERCOLORINDEX,
134 &pparam->id,
135 sizeof(LONG),
136 (PVOID) pparam->ab, QPF_NOINHERIT);
137 if (pparam->cb) {
138 ppresparams->cb += 12;
139 pparam = (PPARAM) (((ULONG) pparam) + 12);
140 }
141
142 /* font name & size -- maximum 44 bytes (32 for face name, 4 for point size) + 8 for data */
143 pparam->cb = WinQueryPresParam(hwnd,
144 PP_FONTNAMESIZE,
145 0,
146 &pparam->id,
147 36, (PVOID) pparam->ab, QPF_NOINHERIT);
148 if (pparam->cb) {
149 ppresparams->cb += (pparam->cb + 8);
150 pparam = (PPARAM) (((ULONG) pparam) + pparam->cb + 8);
151 }
152
153 /* active color -- takes 12 bytes */
154 pparam->cb = WinQueryPresParam(hwnd,
155 PP_ACTIVECOLOR,
156 PP_ACTIVECOLORINDEX,
157 &pparam->id,
158 sizeof(LONG),
159 (PVOID) pparam->ab, QPF_NOINHERIT);
160 if (pparam->cb) {
161 ppresparams->cb += 12;
162 pparam = (PPARAM) (((ULONG) pparam) + 12);
163 }
164
165 /* inactive color -- takes 12 bytes */
166 pparam->cb = WinQueryPresParam(hwnd,
167 PP_INACTIVECOLOR,
168 PP_INACTIVECOLORINDEX,
169 &pparam->id,
170 sizeof(LONG),
171 (PVOID) pparam->ab, QPF_NOINHERIT);
172 if (pparam->cb) {
173 ppresparams->cb += 12;
174 pparam = (PPARAM) (((ULONG) pparam) + 12);
175 }
176
177 /* active text foreground color -- takes 12 bytes */
178 pparam->cb = WinQueryPresParam(hwnd,
179 PP_ACTIVETEXTFGNDCOLOR,
180 PP_ACTIVETEXTFGNDCOLORINDEX,
181 &pparam->id,
182 sizeof(LONG),
183 (PVOID) pparam->ab,
184 QPF_NOINHERIT | QPF_PURERGBCOLOR);
185 if (pparam->cb) {
186 ppresparams->cb += 12;
187 pparam = (PPARAM) (((ULONG) pparam) + 12);
188 }
189
190 /* active text background color -- takes 12 bytes */
191 pparam->cb = WinQueryPresParam(hwnd,
192 PP_ACTIVETEXTBGNDCOLOR,
193 PP_ACTIVETEXTBGNDCOLORINDEX,
194 &pparam->id,
195 sizeof(LONG),
196 (PVOID) pparam->ab,
197 QPF_NOINHERIT | QPF_PURERGBCOLOR);
198 if (pparam->cb) {
199 ppresparams->cb += 12;
200 pparam = (PPARAM) (((ULONG) pparam) + 12);
201 }
202
203 /* inactive text foreground color -- takes 12 bytes */
204 pparam->cb = WinQueryPresParam(hwnd,
205 PP_INACTIVETEXTFGNDCOLOR,
206 PP_INACTIVETEXTFGNDCOLORINDEX,
207 &pparam->id,
208 sizeof(LONG),
209 (PVOID) pparam->ab,
210 QPF_NOINHERIT | QPF_PURERGBCOLOR);
211 if (pparam->cb) {
212 ppresparams->cb += 12;
213 pparam = (PPARAM) (((ULONG) pparam) + 12);
214 }
215
216 /* inactive text background color -- takes 12 bytes */
217 pparam->cb = WinQueryPresParam(hwnd,
218 PP_INACTIVETEXTBGNDCOLOR,
219 PP_INACTIVETEXTBGNDCOLORINDEX,
220 &pparam->id,
221 sizeof(LONG),
222 (PVOID) pparam->ab,
223 QPF_NOINHERIT | QPF_PURERGBCOLOR);
224 if (pparam->cb) {
225 ppresparams->cb += 12;
226 pparam = (PPARAM) (((ULONG) pparam) + 12);
227 }
228
229 /* shadow color -- takes 12 bytes */
230 pparam->cb = WinQueryPresParam(hwnd,
231 PP_SHADOW, 0,
232 &pparam->id,
233 sizeof(LONG),
234 (PVOID) pparam->ab, QPF_NOINHERIT);
235 if (pparam->cb) {
236 ppresparams->cb += 12;
237 pparam = (PPARAM) (((ULONG) pparam) + 12);
238 }
239
240 /* menu foreground color -- takes 12 bytes */
241 pparam->cb = WinQueryPresParam(hwnd,
242 PP_MENUFOREGROUNDCOLOR,
243 PP_MENUFOREGROUNDCOLORINDEX,
244 &pparam->id,
245 sizeof(LONG),
246 (PVOID) pparam->ab, QPF_NOINHERIT);
247 if (pparam->cb) {
248 ppresparams->cb += 12;
249 pparam = (PPARAM) (((ULONG) pparam) + 12);
250 }
251
252 /* menu background color -- takes 12 bytes */
253 pparam->cb = WinQueryPresParam(hwnd,
254 PP_MENUBACKGROUNDCOLOR,
255 PP_MENUBACKGROUNDCOLORINDEX,
256 &pparam->id,
257 sizeof(LONG),
258 (PVOID) pparam->ab, QPF_NOINHERIT);
259 if (pparam->cb) {
260 ppresparams->cb += 12;
261 pparam = (PPARAM) (((ULONG) pparam) + 12);
262 }
263
264 /* menu hilite foreground color -- takes 12 bytes */
265 pparam->cb = WinQueryPresParam(hwnd,
266 PP_MENUHILITEFGNDCOLOR,
267 PP_MENUHILITEFGNDCOLORINDEX,
268 &pparam->id,
269 sizeof(LONG),
270 (PVOID) pparam->ab, QPF_NOINHERIT);
271 if (pparam->cb) {
272 ppresparams->cb += 12;
273 pparam = (PPARAM) (((ULONG) pparam) + 12);
274 }
275
276 /* menu hilite background color -- takes 12 bytes */
277 pparam->cb = WinQueryPresParam(hwnd,
278 PP_MENUHILITEBGNDCOLOR,
279 PP_MENUHILITEBGNDCOLORINDEX,
280 &pparam->id,
281 sizeof(LONG),
282 (PVOID) pparam->ab, QPF_NOINHERIT);
283 if (pparam->cb) {
284 ppresparams->cb += 12;
285 pparam = (PPARAM) (((ULONG) pparam) + 12);
286 }
287
288 /* menu disabled foreground color -- takes 12 bytes */
289 pparam->cb = WinQueryPresParam(hwnd,
290 PP_MENUDISABLEDFGNDCOLOR,
291 PP_MENUDISABLEDFGNDCOLORINDEX,
292 &pparam->id,
293 sizeof(LONG),
294 (PVOID) pparam->ab, QPF_NOINHERIT);
295 if (pparam->cb) {
296 ppresparams->cb += 12;
297 pparam = (PPARAM) (((ULONG) pparam) + 12);
298 }
299
300 /* menu disabled background color -- takes 12 bytes */
301 pparam->cb = WinQueryPresParam(hwnd,
302 PP_MENUDISABLEDBGNDCOLOR,
303 PP_MENUDISABLEDBGNDCOLORINDEX,
304 &pparam->id,
305 sizeof(LONG),
306 (PVOID) pparam->ab, QPF_NOINHERIT);
307 if (pparam->cb) {
308 ppresparams->cb += 12;
309 pparam = (PPARAM) (((ULONG) pparam) + 12);
310 }
311
312 if (ppresparams->cb)
313 PrfWriteProfileData(prof,
314 appname, tagname, ppresparams, ppresparams->cb + 4);
315
316 free(ppresparams);
317}
318
319#endif // NEVER
320
321VOID CopyPresParams(HWND target, HWND source)
322{
323 /*
324 * Copy presentation parameters of interest to us from one window
325 * to another
326 */
327
328 ULONG AttrFound, AttrValue[64], cbRetLen, x = 0,
329 AttrName[] = { PP_FONTNAMESIZE, PP_FOREGROUNDCOLOR,
330 PP_BACKGROUNDCOLOR, PP_HILITEBACKGROUNDCOLOR,
331 PP_HILITEFOREGROUNDCOLOR, PP_BORDERCOLOR, PP_MENUFOREGROUNDCOLOR,
332 PP_MENUBACKGROUNDCOLOR, PP_FOREGROUNDCOLORINDEX, PP_BACKGROUNDCOLORINDEX,
333 PP_HILITEFOREGROUNDCOLORINDEX, PP_HILITEBACKGROUNDCOLORINDEX,
334 PP_DISABLEDFOREGROUNDCOLOR, PP_DISABLEDBACKGROUNDCOLOR,
335 PP_DISABLEDFOREGROUNDCOLORINDEX, PP_DISABLEDBACKGROUNDCOLORINDEX,
336 PP_BORDERCOLOR, PP_BORDERCOLORINDEX, PP_FONTHANDLE, PP_ACTIVECOLOR,
337 PP_ACTIVECOLORINDEX, PP_INACTIVECOLOR, PP_INACTIVECOLORINDEX,
338 PP_ACTIVETEXTFGNDCOLOR, PP_ACTIVETEXTFGNDCOLORINDEX, PP_ACTIVETEXTBGNDCOLOR,
339 PP_ACTIVETEXTBGNDCOLORINDEX, PP_INACTIVETEXTFGNDCOLOR,
340 PP_INACTIVETEXTFGNDCOLORINDEX, PP_INACTIVETEXTBGNDCOLOR,
341 PP_INACTIVETEXTBGNDCOLORINDEX, PP_SHADOW, PP_MENUFOREGROUNDCOLORINDEX,
342 PP_MENUBACKGROUNDCOLORINDEX, PP_MENUHILITEFGNDCOLOR, PP_MENUHILITEFGNDCOLORINDEX,
343 PP_MENUHILITEBGNDCOLOR, PP_MENUHILITEBGNDCOLORINDEX, PP_MENUDISABLEDFGNDCOLOR,
344 PP_MENUDISABLEDFGNDCOLORINDEX, PP_MENUDISABLEDBGNDCOLOR,
345 PP_MENUDISABLEDBGNDCOLORINDEX, PP_SHADOWTEXTCOLOR, PP_SHADOWTEXTCOLORINDEX,
346 PP_SHADOWHILITEFGNDCOLOR, PP_SHADOWHILITEFGNDCOLORINDEX, PP_SHADOWHILITEBGNDCOLOR,
347 PP_SHADOWHILITEBGNDCOLORINDEX, PP_ICONTEXTBACKGROUNDCOLOR,
348 PP_ICONTEXTBACKGROUNDCOLORINDEX, PP_BORDERLIGHTCOLOR, PP_BORDERDARKCOLOR,
349 PP_BORDER2COLOR, PP_BORDER2LIGHTCOLOR, PP_BORDER2DARKCOLOR, PP_BORDERDEFAULTCOLOR,
350 PP_FIELDBACKGROUNDCOLOR, PP_BUTTONBACKGROUNDCOLOR, PP_BUTTONBORDERLIGHTCOLOR,
351 PP_BUTTONBORDERDARKCOLOR, PP_ARROWCOLOR, PP_ARROWBORDERLIGHTCOLOR,
352 PP_ARROWBORDERDARKCOLOR, PP_ARROWDISABLEDCOLOR, PP_CHECKLIGHTCOLOR,
353 PP_CHECKMIDDLECOLOR, PP_CHECKDARKCOLOR, PP_PAGEFOREGROUNDCOLOR,
354 PP_PAGEBACKGROUNDCOLOR, PP_MAJORTABFOREGROUNDCOLOR, PP_MAJORTABBACKGROUNDCOLOR,
355 PP_MINORTABFOREGROUNDCOLOR, PP_MINORTABBACKGROUNDCOLOR, PP_USER, 0 };
356
357 while (AttrName[x]) {
358 cbRetLen = WinQueryPresParam(source,
359 AttrName[x],
360 0,
361 &AttrFound,
362 sizeof(AttrValue),
363 &AttrValue, 0);
364 //printf("%s %x\n", AttrValue, source); fflush(stdout);
365 //printf("%x\n", AttrValue); fflush(stdout);
366 if (cbRetLen)
367 WinSetPresParam(target, AttrName[x], cbRetLen, (PVOID) AttrValue);
368 x++;
369 } //while
370}
371
372VOID SetPresParams(HWND hwnd, RGB2 * back, RGB2 * fore, RGB2 * border,
373 CHAR * font)
374{
375 if (font)
376 WinSetPresParam(hwnd, PP_FONTNAMESIZE, strlen(font) + 1, (PVOID) font);
377 if (back)
378 WinSetPresParam(hwnd, PP_BACKGROUNDCOLOR, sizeof(RGB2), (PVOID) back);
379 if (fore)
380 WinSetPresParam(hwnd, PP_FOREGROUNDCOLOR, sizeof(RGB2), (PVOID) fore);
381 if (border)
382 WinSetPresParam(hwnd, PP_BORDERCOLOR, sizeof(RGB2), (PVOID) border);
383}
384
385#if 0 // JBS
386VOID IfNoParam(HWND hwnd, CHAR * keyroot, ULONG size, PVOID attrvalue)
387{
388 ULONG fsize = 0;
389 CHAR s[81];
390
391 sprintf(s, "%s", keyroot);
392 if (!PrfQueryProfileSize(fmprof, appname, s, &fsize) || !fsize)
393 WinSetPresParam(hwnd, PP_FONTNAMESIZE, size, (PVOID) attrvalue);
394}
395#endif
396
397VOID PresParamChanged(HWND hwnd, CHAR * keyroot, MPARAM mp1, MPARAM mp2)
398{
399 ULONG AttrFound, AttrValue[64], cbRetLen;
400
401 cbRetLen = WinQueryPresParam(hwnd, (ULONG) mp1, 0, &AttrFound,
402 (ULONG) sizeof(AttrValue), &AttrValue, 0);
403 if (cbRetLen) {
404
405 CHAR s[133];
406
407 *s = 0;
408 switch (AttrFound) {
409 case PP_BACKGROUNDCOLOR:
410 sprintf(s, "%s.Backgroundcolor", keyroot);
411 break;
412 case PP_FOREGROUNDCOLOR:
413 sprintf(s, "%s.Foregroundcolor", keyroot);
414 break;
415 case PP_HILITEBACKGROUNDCOLOR:
416 sprintf(s, "%s.Hilitebackgroundcolor", keyroot);
417 break;
418 case PP_HILITEFOREGROUNDCOLOR:
419 sprintf(s, "%s.Hiliteforegroundcolor", keyroot);
420 break;
421 case PP_BORDERCOLOR:
422 sprintf(s, "%s.Bordercolor", keyroot);
423 break;
424 case PP_FONTNAMESIZE:
425 sprintf(s, "%s.Fontnamesize", keyroot);
426 break;
427 default:
428 break;
429 }
430 if (*s)
431 PrfWriteProfileData(fmprof, appname, s, (PVOID) AttrValue, cbRetLen);
432 }
433}
434
435VOID RestorePresParams(HWND hwnd, CHAR * keyroot)
436{
437 CHAR s[81];
438 ULONG AttrValue[64], size;
439
440 size = sizeof(AttrValue);
441 sprintf(s, "%s.Backgroundcolor", keyroot);
442 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
443 && size)
444 WinSetPresParam(hwnd, PP_BACKGROUNDCOLOR, size, (PVOID) AttrValue);
445 size = sizeof(AttrValue);
446 sprintf(s, "%s.Foregroundcolor", keyroot);
447 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
448 && size)
449 WinSetPresParam(hwnd, PP_FOREGROUNDCOLOR, size, (PVOID) AttrValue);
450 size = sizeof(AttrValue);
451 sprintf(s, "%s.Hilitebackgroundcolor", keyroot);
452 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
453 && size)
454 WinSetPresParam(hwnd, PP_HILITEBACKGROUNDCOLOR, size, (PVOID) AttrValue);
455 size = sizeof(AttrValue);
456 sprintf(s, "%s.Hiliteforegroundcolor", keyroot);
457 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
458 && size)
459 WinSetPresParam(hwnd, PP_HILITEFOREGROUNDCOLOR, size, (PVOID) AttrValue);
460 size = sizeof(AttrValue);
461 sprintf(s, "%s.Bordercolor", keyroot);
462 if (PrfQueryProfileData(fmprof, appname, s, (PVOID) AttrValue, &size)
463 && size)
464 WinSetPresParam(hwnd, PP_BORDERCOLOR, size, (PVOID) AttrValue);
465 size = sizeof(AttrValue);
466 sprintf(s, "%s.Fontnamesize", keyroot);
467 if (PrfQueryProfileData(fmprof,
468 appname, s, (PVOID) AttrValue, &size) && size)
469 WinSetPresParam(hwnd, PP_FONTNAMESIZE, size, (PVOID) AttrValue);
470}
471
472 /** SavePresParams
473 * Save the presentation parameters used by RestorePresParams
474 */
475VOID SavePresParams(HWND hwnd, CHAR *keyroot)
476{
477
478
479 ULONG AttrFound, AttrValue[64], cbRetLen, x = 0,
480 AttrName[] = { PP_FONTNAMESIZE, PP_FOREGROUNDCOLOR,
481 PP_BACKGROUNDCOLOR, PP_HILITEBACKGROUNDCOLOR,
482 PP_HILITEFOREGROUNDCOLOR, PP_BORDERCOLOR, 0 };
483
484 while (AttrName[x]) {
485 cbRetLen = WinQueryPresParam(hwnd,
486 AttrName[x],
487 0,
488 &AttrFound,
489 sizeof(AttrValue),
490 &AttrValue, 0);
491 if (cbRetLen){
492 CHAR s[133];
493
494 *s = 0;
495 switch (AttrFound) {
496 case PP_BACKGROUNDCOLOR:
497 sprintf(s, "%s.Backgroundcolor", keyroot);
498 break;
499 case PP_FOREGROUNDCOLOR:
500 sprintf(s, "%s.Foregroundcolor", keyroot);
501 break;
502 case PP_HILITEBACKGROUNDCOLOR:
503 sprintf(s, "%s.Hilitebackgroundcolor", keyroot);
504 break;
505 case PP_HILITEFOREGROUNDCOLOR:
506 sprintf(s, "%s.Hiliteforegroundcolor", keyroot);
507 break;
508 case PP_BORDERCOLOR:
509 sprintf(s, "%s.Bordercolor", keyroot);
510 break;
511 case PP_FONTNAMESIZE:
512 sprintf(s, "%s.Fontnamesize", keyroot);
513 break;
514 default:
515 break;
516 }
517 if (*s)
518 PrfWriteProfileData(fmprof, appname, s, (PVOID) AttrValue, cbRetLen);
519 }
520 x++;
521 } //while
522}
523
524#pragma alloc_text(PRESPARAM,CopyPresParams,SetPresParams)
525#pragma alloc_text(PRESPARAM,PresParamChanged,RestorePresParams,SavePresParams)
526#pragma alloc_text(PRESPARAM,StoreWndPresParams)
Note: See TracBrowser for help on using the repository browser.