source: trunk/dll/presparm.c@ 1211

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

Ticket 187: Move data declarations/definitions out of fm3dll.h

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