source: trunk/dll/presparm.c@ 1402

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

Remove variable aurgs from docopy & unlinkf (not used); Move more strings to PCSZs and string table; Move PCSZs to compile time initialization; Fix hang on startup caused by a drive scan and a dircnr scan trying to update a drive in the tree at the same time (related to the "treeswitch options); Code cleanup mainly removal of old printfs, SayMsgs, DbgMsg and unneeded %s.

  • 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 1402 2009-03-14 17:17:59Z gyoung $
5
6 Edit presentation parameters
7
8 Copyright (c) 1993-98 M. Kimes
[1348]9 Copyright (c) 2006, 2008 Steven H.Levine
[356]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
[1400]15 08 Mar 09 GKY Additional strings move to PCSZs in init.c
[356]16
17***********************************************************************/
18
[907]19#include <string.h>
20
[2]21#define INCL_WIN
[1162]22#define INCL_LONGLONG // dircnrs.h
[2]23
24#include "fm3dll.h"
[1226]25#include "colors.h" // typedef RGB2
26#include "presparm.h"
[1211]27#include "notebook.h" // Data declaration(s)
[1186]28#include "wrappers.h" // xmalloc
[1039]29#include "fortify.h"
[2]30
[689]31// static PSZ pszSrcFile = __FILE__;
[356]32
[1162]33//static VOID IfNoParam(HWND hwnd, CHAR * keyroot, ULONG size, PVOID attrvalue);
34
35//static VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof);
36
[2]37#ifdef NEVER
38/*
39 * this routine will fill a buffer with all defined window pres params
40 * the PRESPARAMS structure returned is suitable to be passed as
41 * pPresParams ie. WinCreateWindow(,,,,,,,,,,,, PVOID pPresParams)
42 */
[551]43VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof)
[356]44{
[551]45 PARAM *pparam;
46 PRESPARAMS *ppresparams;
[2]47
[551]48 if (!tagname || !*tagname || !prof)
[2]49 return;
50 /* setup memory access */
[551]51 ppresparams = (PRESPARAMS *) xmalloc(PP_MAXBUF, pszSrcFile, __LINE__);
52 if (!ppresparams)
[2]53 return;
[1162]54 ppresparams->cb = 0; /* no entries yet */
55 pparam = ppresparams->aparam; /* cast structure onto memory */
[2]56
57 /*
58 * query every possible presentation parameter...
59 */
60
61 /* foreground color -- takes 12 bytes */
62 pparam->cb = WinQueryPresParam(hwnd,
[1162]63 PP_FOREGROUNDCOLOR,
64 PP_FOREGROUNDCOLORINDEX,
65 &pparam->id,
66 sizeof(LONG),
67 (PVOID) pparam->ab, QPF_NOINHERIT);
68 if (pparam->cb) { /* was the param found? */
69 ppresparams->cb += 12; /* used 12 bytes */
70 pparam = (PPARAM) (((ULONG) pparam) + 12); /* advance 12 bytes to next memory location */
[2]71 }
72
73 /* background color -- takes 12 bytes */
74 pparam->cb = WinQueryPresParam(hwnd,
[1162]75 PP_BACKGROUNDCOLOR,
76 PP_BACKGROUNDCOLORINDEX,
77 &pparam->id,
78 sizeof(LONG),
79 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]80 if (pparam->cb) {
[766]81 ppresparams->cb += 12;
82 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]83 }
84
85 /* hilited foreground color -- takes 12 bytes */
86 pparam->cb = WinQueryPresParam(hwnd,
[1162]87 PP_HILITEFOREGROUNDCOLOR,
88 PP_HILITEFOREGROUNDCOLORINDEX,
89 &pparam->id,
90 sizeof(LONG),
91 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]92 if (pparam->cb) {
[766]93 ppresparams->cb += 12;
94 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]95 }
96
97 /* hilited background color -- takes 12 bytes */
98 pparam->cb = WinQueryPresParam(hwnd,
[1162]99 PP_HILITEBACKGROUNDCOLOR,
100 PP_HILITEBACKGROUNDCOLORINDEX,
101 &pparam->id,
102 sizeof(LONG),
103 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]104 if (pparam->cb) {
[766]105 ppresparams->cb += 12;
106 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]107 }
108
109 /* disabled foreground color -- takes 12 bytes */
110 pparam->cb = WinQueryPresParam(hwnd,
[1162]111 PP_DISABLEDFOREGROUNDCOLOR,
112 PP_DISABLEDFOREGROUNDCOLORINDEX,
113 &pparam->id,
114 sizeof(LONG),
115 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]116 if (pparam->cb) {
[766]117 ppresparams->cb += 12;
118 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]119 }
120
121 /* disabled background color -- takes 12 bytes */
122 pparam->cb = WinQueryPresParam(hwnd,
[1162]123 PP_DISABLEDBACKGROUNDCOLOR,
124 PP_DISABLEDBACKGROUNDCOLORINDEX,
125 &pparam->id,
126 sizeof(LONG),
127 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]128 if (pparam->cb) {
[766]129 ppresparams->cb += 12;
130 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]131 }
132
133 /* border color -- takes 12 bytes */
134 pparam->cb = WinQueryPresParam(hwnd,
[1162]135 PP_BORDERCOLOR,
136 PP_BORDERCOLORINDEX,
137 &pparam->id,
138 sizeof(LONG),
139 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]140 if (pparam->cb) {
[766]141 ppresparams->cb += 12;
142 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]143 }
144
145 /* font name & size -- maximum 44 bytes (32 for face name, 4 for point size) + 8 for data */
146 pparam->cb = WinQueryPresParam(hwnd,
[1162]147 PP_FONTNAMESIZE,
148 0,
149 &pparam->id,
150 36, (PVOID) pparam->ab, QPF_NOINHERIT);
[551]151 if (pparam->cb) {
[766]152 ppresparams->cb += (pparam->cb + 8);
153 pparam = (PPARAM) (((ULONG) pparam) + pparam->cb + 8);
[2]154 }
155
156 /* active color -- takes 12 bytes */
157 pparam->cb = WinQueryPresParam(hwnd,
[1162]158 PP_ACTIVECOLOR,
159 PP_ACTIVECOLORINDEX,
160 &pparam->id,
161 sizeof(LONG),
162 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]163 if (pparam->cb) {
[766]164 ppresparams->cb += 12;
165 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]166 }
167
168 /* inactive color -- takes 12 bytes */
169 pparam->cb = WinQueryPresParam(hwnd,
[1162]170 PP_INACTIVECOLOR,
171 PP_INACTIVECOLORINDEX,
172 &pparam->id,
173 sizeof(LONG),
174 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]175 if (pparam->cb) {
[766]176 ppresparams->cb += 12;
177 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]178 }
179
180 /* active text foreground color -- takes 12 bytes */
181 pparam->cb = WinQueryPresParam(hwnd,
[1162]182 PP_ACTIVETEXTFGNDCOLOR,
183 PP_ACTIVETEXTFGNDCOLORINDEX,
184 &pparam->id,
185 sizeof(LONG),
186 (PVOID) pparam->ab,
187 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]188 if (pparam->cb) {
[766]189 ppresparams->cb += 12;
190 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]191 }
192
193 /* active text background color -- takes 12 bytes */
194 pparam->cb = WinQueryPresParam(hwnd,
[1162]195 PP_ACTIVETEXTBGNDCOLOR,
196 PP_ACTIVETEXTBGNDCOLORINDEX,
197 &pparam->id,
198 sizeof(LONG),
199 (PVOID) pparam->ab,
200 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]201 if (pparam->cb) {
[766]202 ppresparams->cb += 12;
203 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]204 }
205
206 /* inactive text foreground color -- takes 12 bytes */
207 pparam->cb = WinQueryPresParam(hwnd,
[1162]208 PP_INACTIVETEXTFGNDCOLOR,
209 PP_INACTIVETEXTFGNDCOLORINDEX,
210 &pparam->id,
211 sizeof(LONG),
212 (PVOID) pparam->ab,
213 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]214 if (pparam->cb) {
[766]215 ppresparams->cb += 12;
216 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]217 }
218
219 /* inactive text background color -- takes 12 bytes */
220 pparam->cb = WinQueryPresParam(hwnd,
[1162]221 PP_INACTIVETEXTBGNDCOLOR,
222 PP_INACTIVETEXTBGNDCOLORINDEX,
223 &pparam->id,
224 sizeof(LONG),
225 (PVOID) pparam->ab,
226 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]227 if (pparam->cb) {
[766]228 ppresparams->cb += 12;
229 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]230 }
231
232 /* shadow color -- takes 12 bytes */
233 pparam->cb = WinQueryPresParam(hwnd,
[1162]234 PP_SHADOW, 0,
235 &pparam->id,
236 sizeof(LONG),
237 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]238 if (pparam->cb) {
[766]239 ppresparams->cb += 12;
240 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]241 }
242
243 /* menu foreground color -- takes 12 bytes */
244 pparam->cb = WinQueryPresParam(hwnd,
[1162]245 PP_MENUFOREGROUNDCOLOR,
246 PP_MENUFOREGROUNDCOLORINDEX,
247 &pparam->id,
248 sizeof(LONG),
249 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]250 if (pparam->cb) {
[766]251 ppresparams->cb += 12;
252 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]253 }
254
255 /* menu background color -- takes 12 bytes */
256 pparam->cb = WinQueryPresParam(hwnd,
[1162]257 PP_MENUBACKGROUNDCOLOR,
258 PP_MENUBACKGROUNDCOLORINDEX,
259 &pparam->id,
260 sizeof(LONG),
261 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]262 if (pparam->cb) {
[766]263 ppresparams->cb += 12;
264 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]265 }
266
267 /* menu hilite foreground color -- takes 12 bytes */
268 pparam->cb = WinQueryPresParam(hwnd,
[1162]269 PP_MENUHILITEFGNDCOLOR,
270 PP_MENUHILITEFGNDCOLORINDEX,
271 &pparam->id,
272 sizeof(LONG),
273 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]274 if (pparam->cb) {
[766]275 ppresparams->cb += 12;
276 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]277 }
278
279 /* menu hilite background color -- takes 12 bytes */
280 pparam->cb = WinQueryPresParam(hwnd,
[1162]281 PP_MENUHILITEBGNDCOLOR,
282 PP_MENUHILITEBGNDCOLORINDEX,
283 &pparam->id,
284 sizeof(LONG),
285 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]286 if (pparam->cb) {
[766]287 ppresparams->cb += 12;
288 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]289 }
290
291 /* menu disabled foreground color -- takes 12 bytes */
292 pparam->cb = WinQueryPresParam(hwnd,
[1162]293 PP_MENUDISABLEDFGNDCOLOR,
294 PP_MENUDISABLEDFGNDCOLORINDEX,
295 &pparam->id,
296 sizeof(LONG),
297 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]298 if (pparam->cb) {
[766]299 ppresparams->cb += 12;
300 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]301 }
302
303 /* menu disabled background color -- takes 12 bytes */
304 pparam->cb = WinQueryPresParam(hwnd,
[1162]305 PP_MENUDISABLEDBGNDCOLOR,
306 PP_MENUDISABLEDBGNDCOLORINDEX,
307 &pparam->id,
308 sizeof(LONG),
309 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]310 if (pparam->cb) {
[766]311 ppresparams->cb += 12;
312 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]313 }
314
[551]315 if (ppresparams->cb)
[2]316 PrfWriteProfileData(prof,
[1162]317 appname, tagname, ppresparams, ppresparams->cb + 4);
[2]318
[1039]319 free(ppresparams);
[2]320}
321
[356]322#endif // NEVER
[2]323
[551]324VOID CopyPresParams(HWND target, HWND source)
[356]325{
[2]326 /*
327 * Copy presentation parameters of interest to us from one window
328 * to another
329 */
330
[766]331 ULONG AttrFound, AttrValue[64], cbRetLen, x = 0,
[877]332 AttrName[] = { PP_FONTNAMESIZE, PP_FOREGROUNDCOLOR,
333 PP_BACKGROUNDCOLOR, PP_HILITEBACKGROUNDCOLOR,
[881]334 PP_HILITEFOREGROUNDCOLOR, PP_BORDERCOLOR, PP_MENUFOREGROUNDCOLOR,
[882]335 PP_MENUBACKGROUNDCOLOR, PP_FOREGROUNDCOLORINDEX, PP_BACKGROUNDCOLORINDEX,
336 PP_HILITEFOREGROUNDCOLORINDEX, PP_HILITEBACKGROUNDCOLORINDEX,
337 PP_DISABLEDFOREGROUNDCOLOR, PP_DISABLEDBACKGROUNDCOLOR,
338 PP_DISABLEDFOREGROUNDCOLORINDEX, PP_DISABLEDBACKGROUNDCOLORINDEX,
339 PP_BORDERCOLOR, PP_BORDERCOLORINDEX, PP_FONTHANDLE, PP_ACTIVECOLOR,
340 PP_ACTIVECOLORINDEX, PP_INACTIVECOLOR, PP_INACTIVECOLORINDEX,
341 PP_ACTIVETEXTFGNDCOLOR, PP_ACTIVETEXTFGNDCOLORINDEX, PP_ACTIVETEXTBGNDCOLOR,
342 PP_ACTIVETEXTBGNDCOLORINDEX, PP_INACTIVETEXTFGNDCOLOR,
343 PP_INACTIVETEXTFGNDCOLORINDEX, PP_INACTIVETEXTBGNDCOLOR,
344 PP_INACTIVETEXTBGNDCOLORINDEX, PP_SHADOW, PP_MENUFOREGROUNDCOLORINDEX,
345 PP_MENUBACKGROUNDCOLORINDEX, PP_MENUHILITEFGNDCOLOR, PP_MENUHILITEFGNDCOLORINDEX,
346 PP_MENUHILITEBGNDCOLOR, PP_MENUHILITEBGNDCOLORINDEX, PP_MENUDISABLEDFGNDCOLOR,
347 PP_MENUDISABLEDFGNDCOLORINDEX, PP_MENUDISABLEDBGNDCOLOR,
348 PP_MENUDISABLEDBGNDCOLORINDEX, PP_SHADOWTEXTCOLOR, PP_SHADOWTEXTCOLORINDEX,
349 PP_SHADOWHILITEFGNDCOLOR, PP_SHADOWHILITEFGNDCOLORINDEX, PP_SHADOWHILITEBGNDCOLOR,
350 PP_SHADOWHILITEBGNDCOLORINDEX, PP_ICONTEXTBACKGROUNDCOLOR,
351 PP_ICONTEXTBACKGROUNDCOLORINDEX, PP_BORDERLIGHTCOLOR, PP_BORDERDARKCOLOR,
352 PP_BORDER2COLOR, PP_BORDER2LIGHTCOLOR, PP_BORDER2DARKCOLOR, PP_BORDERDEFAULTCOLOR,
353 PP_FIELDBACKGROUNDCOLOR, PP_BUTTONBACKGROUNDCOLOR, PP_BUTTONBORDERLIGHTCOLOR,
354 PP_BUTTONBORDERDARKCOLOR, PP_ARROWCOLOR, PP_ARROWBORDERLIGHTCOLOR,
355 PP_ARROWBORDERDARKCOLOR, PP_ARROWDISABLEDCOLOR, PP_CHECKLIGHTCOLOR,
356 PP_CHECKMIDDLECOLOR, PP_CHECKDARKCOLOR, PP_PAGEFOREGROUNDCOLOR,
357 PP_PAGEBACKGROUNDCOLOR, PP_MAJORTABFOREGROUNDCOLOR, PP_MAJORTABBACKGROUNDCOLOR,
358 PP_MINORTABFOREGROUNDCOLOR, PP_MINORTABBACKGROUNDCOLOR, PP_USER, 0 };
[2]359
[882]360 while (AttrName[x]) {
[2]361 cbRetLen = WinQueryPresParam(source,
[1162]362 AttrName[x],
363 0,
364 &AttrFound,
[877]365 sizeof(AttrValue),
366 &AttrValue, 0);
[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,
[1400]374 PCSZ 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
[1400]398VOID PresParamChanged(HWND hwnd, PCSZ 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
[1400]436VOID RestorePresParams(HWND hwnd, PCSZ 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 */
[1400]476VOID SavePresParams(HWND hwnd, PCSZ keyroot)
[928]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.