source: trunk/dll/presparm.c@ 1570

Last change on this file since 1570 was 1409, checked in by Gregg Young, 16 years ago

Rename some container ini keys consolidate inline code in WriteDetailsSwitches, LoadDetailsSwitches and RemoveCnrSwitches (Ticket 343, 345, 347) Save changes to detail switches for compare directories (Ticket 346). Move additional messages to PCSZs (Ticket 6). Comments and minor code clean up.

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