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
RevLine 
[356]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
[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"
[1162]24#include "presparm.h"
[1186]25#include "wrappers.h" // xmalloc
[1039]26#include "fortify.h"
[2]27
[689]28// static PSZ pszSrcFile = __FILE__;
[356]29
[1162]30//static VOID IfNoParam(HWND hwnd, CHAR * keyroot, ULONG size, PVOID attrvalue);
31
32//static VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof);
33
[2]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 */
[551]40VOID StoreWndPresParams(HWND hwnd, CHAR * tagname, HINI prof)
[356]41{
[551]42 PARAM *pparam;
43 PRESPARAMS *ppresparams;
[2]44
[551]45 if (!tagname || !*tagname || !prof)
[2]46 return;
47 /* setup memory access */
[551]48 ppresparams = (PRESPARAMS *) xmalloc(PP_MAXBUF, pszSrcFile, __LINE__);
49 if (!ppresparams)
[2]50 return;
[1162]51 ppresparams->cb = 0; /* no entries yet */
52 pparam = ppresparams->aparam; /* cast structure onto memory */
[2]53
54 /*
55 * query every possible presentation parameter...
56 */
57
58 /* foreground color -- takes 12 bytes */
59 pparam->cb = WinQueryPresParam(hwnd,
[1162]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 */
[2]68 }
69
70 /* background color -- takes 12 bytes */
71 pparam->cb = WinQueryPresParam(hwnd,
[1162]72 PP_BACKGROUNDCOLOR,
73 PP_BACKGROUNDCOLORINDEX,
74 &pparam->id,
75 sizeof(LONG),
76 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]77 if (pparam->cb) {
[766]78 ppresparams->cb += 12;
79 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]80 }
81
82 /* hilited foreground color -- takes 12 bytes */
83 pparam->cb = WinQueryPresParam(hwnd,
[1162]84 PP_HILITEFOREGROUNDCOLOR,
85 PP_HILITEFOREGROUNDCOLORINDEX,
86 &pparam->id,
87 sizeof(LONG),
88 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]89 if (pparam->cb) {
[766]90 ppresparams->cb += 12;
91 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]92 }
93
94 /* hilited background color -- takes 12 bytes */
95 pparam->cb = WinQueryPresParam(hwnd,
[1162]96 PP_HILITEBACKGROUNDCOLOR,
97 PP_HILITEBACKGROUNDCOLORINDEX,
98 &pparam->id,
99 sizeof(LONG),
100 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]101 if (pparam->cb) {
[766]102 ppresparams->cb += 12;
103 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]104 }
105
106 /* disabled foreground color -- takes 12 bytes */
107 pparam->cb = WinQueryPresParam(hwnd,
[1162]108 PP_DISABLEDFOREGROUNDCOLOR,
109 PP_DISABLEDFOREGROUNDCOLORINDEX,
110 &pparam->id,
111 sizeof(LONG),
112 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]113 if (pparam->cb) {
[766]114 ppresparams->cb += 12;
115 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]116 }
117
118 /* disabled background color -- takes 12 bytes */
119 pparam->cb = WinQueryPresParam(hwnd,
[1162]120 PP_DISABLEDBACKGROUNDCOLOR,
121 PP_DISABLEDBACKGROUNDCOLORINDEX,
122 &pparam->id,
123 sizeof(LONG),
124 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]125 if (pparam->cb) {
[766]126 ppresparams->cb += 12;
127 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]128 }
129
130 /* border color -- takes 12 bytes */
131 pparam->cb = WinQueryPresParam(hwnd,
[1162]132 PP_BORDERCOLOR,
133 PP_BORDERCOLORINDEX,
134 &pparam->id,
135 sizeof(LONG),
136 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]137 if (pparam->cb) {
[766]138 ppresparams->cb += 12;
139 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]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,
[1162]144 PP_FONTNAMESIZE,
145 0,
146 &pparam->id,
147 36, (PVOID) pparam->ab, QPF_NOINHERIT);
[551]148 if (pparam->cb) {
[766]149 ppresparams->cb += (pparam->cb + 8);
150 pparam = (PPARAM) (((ULONG) pparam) + pparam->cb + 8);
[2]151 }
152
153 /* active color -- takes 12 bytes */
154 pparam->cb = WinQueryPresParam(hwnd,
[1162]155 PP_ACTIVECOLOR,
156 PP_ACTIVECOLORINDEX,
157 &pparam->id,
158 sizeof(LONG),
159 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]160 if (pparam->cb) {
[766]161 ppresparams->cb += 12;
162 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]163 }
164
165 /* inactive color -- takes 12 bytes */
166 pparam->cb = WinQueryPresParam(hwnd,
[1162]167 PP_INACTIVECOLOR,
168 PP_INACTIVECOLORINDEX,
169 &pparam->id,
170 sizeof(LONG),
171 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]172 if (pparam->cb) {
[766]173 ppresparams->cb += 12;
174 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]175 }
176
177 /* active text foreground color -- takes 12 bytes */
178 pparam->cb = WinQueryPresParam(hwnd,
[1162]179 PP_ACTIVETEXTFGNDCOLOR,
180 PP_ACTIVETEXTFGNDCOLORINDEX,
181 &pparam->id,
182 sizeof(LONG),
183 (PVOID) pparam->ab,
184 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]185 if (pparam->cb) {
[766]186 ppresparams->cb += 12;
187 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]188 }
189
190 /* active text background color -- takes 12 bytes */
191 pparam->cb = WinQueryPresParam(hwnd,
[1162]192 PP_ACTIVETEXTBGNDCOLOR,
193 PP_ACTIVETEXTBGNDCOLORINDEX,
194 &pparam->id,
195 sizeof(LONG),
196 (PVOID) pparam->ab,
197 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]198 if (pparam->cb) {
[766]199 ppresparams->cb += 12;
200 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]201 }
202
203 /* inactive text foreground color -- takes 12 bytes */
204 pparam->cb = WinQueryPresParam(hwnd,
[1162]205 PP_INACTIVETEXTFGNDCOLOR,
206 PP_INACTIVETEXTFGNDCOLORINDEX,
207 &pparam->id,
208 sizeof(LONG),
209 (PVOID) pparam->ab,
210 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]211 if (pparam->cb) {
[766]212 ppresparams->cb += 12;
213 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]214 }
215
216 /* inactive text background color -- takes 12 bytes */
217 pparam->cb = WinQueryPresParam(hwnd,
[1162]218 PP_INACTIVETEXTBGNDCOLOR,
219 PP_INACTIVETEXTBGNDCOLORINDEX,
220 &pparam->id,
221 sizeof(LONG),
222 (PVOID) pparam->ab,
223 QPF_NOINHERIT | QPF_PURERGBCOLOR);
[551]224 if (pparam->cb) {
[766]225 ppresparams->cb += 12;
226 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]227 }
228
229 /* shadow color -- takes 12 bytes */
230 pparam->cb = WinQueryPresParam(hwnd,
[1162]231 PP_SHADOW, 0,
232 &pparam->id,
233 sizeof(LONG),
234 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]235 if (pparam->cb) {
[766]236 ppresparams->cb += 12;
237 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]238 }
239
240 /* menu foreground color -- takes 12 bytes */
241 pparam->cb = WinQueryPresParam(hwnd,
[1162]242 PP_MENUFOREGROUNDCOLOR,
243 PP_MENUFOREGROUNDCOLORINDEX,
244 &pparam->id,
245 sizeof(LONG),
246 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]247 if (pparam->cb) {
[766]248 ppresparams->cb += 12;
249 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]250 }
251
252 /* menu background color -- takes 12 bytes */
253 pparam->cb = WinQueryPresParam(hwnd,
[1162]254 PP_MENUBACKGROUNDCOLOR,
255 PP_MENUBACKGROUNDCOLORINDEX,
256 &pparam->id,
257 sizeof(LONG),
258 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]259 if (pparam->cb) {
[766]260 ppresparams->cb += 12;
261 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]262 }
263
264 /* menu hilite foreground color -- takes 12 bytes */
265 pparam->cb = WinQueryPresParam(hwnd,
[1162]266 PP_MENUHILITEFGNDCOLOR,
267 PP_MENUHILITEFGNDCOLORINDEX,
268 &pparam->id,
269 sizeof(LONG),
270 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]271 if (pparam->cb) {
[766]272 ppresparams->cb += 12;
273 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]274 }
275
276 /* menu hilite background color -- takes 12 bytes */
277 pparam->cb = WinQueryPresParam(hwnd,
[1162]278 PP_MENUHILITEBGNDCOLOR,
279 PP_MENUHILITEBGNDCOLORINDEX,
280 &pparam->id,
281 sizeof(LONG),
282 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]283 if (pparam->cb) {
[766]284 ppresparams->cb += 12;
285 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]286 }
287
288 /* menu disabled foreground color -- takes 12 bytes */
289 pparam->cb = WinQueryPresParam(hwnd,
[1162]290 PP_MENUDISABLEDFGNDCOLOR,
291 PP_MENUDISABLEDFGNDCOLORINDEX,
292 &pparam->id,
293 sizeof(LONG),
294 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]295 if (pparam->cb) {
[766]296 ppresparams->cb += 12;
297 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]298 }
299
300 /* menu disabled background color -- takes 12 bytes */
301 pparam->cb = WinQueryPresParam(hwnd,
[1162]302 PP_MENUDISABLEDBGNDCOLOR,
303 PP_MENUDISABLEDBGNDCOLORINDEX,
304 &pparam->id,
305 sizeof(LONG),
306 (PVOID) pparam->ab, QPF_NOINHERIT);
[551]307 if (pparam->cb) {
[766]308 ppresparams->cb += 12;
309 pparam = (PPARAM) (((ULONG) pparam) + 12);
[2]310 }
311
[551]312 if (ppresparams->cb)
[2]313 PrfWriteProfileData(prof,
[1162]314 appname, tagname, ppresparams, ppresparams->cb + 4);
[2]315
[1039]316 free(ppresparams);
[2]317}
318
[356]319#endif // NEVER
[2]320
[551]321VOID CopyPresParams(HWND target, HWND source)
[356]322{
[2]323 /*
324 * Copy presentation parameters of interest to us from one window
325 * to another
326 */
327
[766]328 ULONG AttrFound, AttrValue[64], cbRetLen, x = 0,
[877]329 AttrName[] = { PP_FONTNAMESIZE, PP_FOREGROUNDCOLOR,
330 PP_BACKGROUNDCOLOR, PP_HILITEBACKGROUNDCOLOR,
[881]331 PP_HILITEFOREGROUNDCOLOR, PP_BORDERCOLOR, PP_MENUFOREGROUNDCOLOR,
[882]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 };
[2]356
[882]357 while (AttrName[x]) {
[2]358 cbRetLen = WinQueryPresParam(source,
[1162]359 AttrName[x],
360 0,
361 &AttrFound,
[877]362 sizeof(AttrValue),
363 &AttrValue, 0);
364 //printf("%s %x\n", AttrValue, source); fflush(stdout);
365 //printf("%x\n", AttrValue); fflush(stdout);
[551]366 if (cbRetLen)
367 WinSetPresParam(target, AttrName[x], cbRetLen, (PVOID) AttrValue);
[882]368 x++;
369 } //while
[2]370}
371
[551]372VOID SetPresParams(HWND hwnd, RGB2 * back, RGB2 * fore, RGB2 * border,
[1162]373 CHAR * font)
[356]374{
[551]375 if (font)
[766]376 WinSetPresParam(hwnd, PP_FONTNAMESIZE, strlen(font) + 1, (PVOID) font);
[551]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);
[2]383}
384
[1162]385#if 0 // JBS
[551]386VOID IfNoParam(HWND hwnd, CHAR * keyroot, ULONG size, PVOID attrvalue)
[356]387{
[766]388 ULONG fsize = 0;
[551]389 CHAR s[81];
[2]390
[551]391 sprintf(s, "%s", keyroot);
392 if (!PrfQueryProfileSize(fmprof, appname, s, &fsize) || !fsize)
393 WinSetPresParam(hwnd, PP_FONTNAMESIZE, size, (PVOID) attrvalue);
[2]394}
[1162]395#endif
[2]396
[551]397VOID PresParamChanged(HWND hwnd, CHAR * keyroot, MPARAM mp1, MPARAM mp2)
[356]398{
[551]399 ULONG AttrFound, AttrValue[64], cbRetLen;
[2]400
[551]401 cbRetLen = WinQueryPresParam(hwnd, (ULONG) mp1, 0, &AttrFound,
[1162]402 (ULONG) sizeof(AttrValue), &AttrValue, 0);
[551]403 if (cbRetLen) {
[2]404
405 CHAR s[133];
406
407 *s = 0;
[551]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;
[2]429 }
[551]430 if (*s)
431 PrfWriteProfileData(fmprof, appname, s, (PVOID) AttrValue, cbRetLen);
[2]432 }
433}
434
[551]435VOID RestorePresParams(HWND hwnd, CHAR * keyroot)
[356]436{
[551]437 CHAR s[81];
438 ULONG AttrValue[64], size;
[2]439
440 size = sizeof(AttrValue);
[551]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);
[2]445 size = sizeof(AttrValue);
[551]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);
[2]450 size = sizeof(AttrValue);
[551]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);
[2]455 size = sizeof(AttrValue);
[551]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);
[2]460 size = sizeof(AttrValue);
[551]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);
[2]465 size = sizeof(AttrValue);
[551]466 sprintf(s, "%s.Fontnamesize", keyroot);
467 if (PrfQueryProfileData(fmprof,
[1162]468 appname, s, (PVOID) AttrValue, &size) && size)
[551]469 WinSetPresParam(hwnd, PP_FONTNAMESIZE, size, (PVOID) AttrValue);
[2]470}
[793]471
[928]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,
[1162]486 AttrName[x],
487 0,
488 &AttrFound,
[928]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
[1162]524#pragma alloc_text(PRESPARAM,CopyPresParams,SetPresParams)
[928]525#pragma alloc_text(PRESPARAM,PresParamChanged,RestorePresParams,SavePresParams)
[793]526#pragma alloc_text(PRESPARAM,StoreWndPresParams)
Note: See TracBrowser for help on using the repository browser.