Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygencurrency.c
Go to the documentation of this file.
00001 /* 00002 * ReactOS 00003 * Copyright (C) 2004 ReactOS Team 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License along 00016 * with this program; if not, write to the Free Software Foundation, Inc., 00017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00018 */ 00019 /* $Id: currency.c 54535 2011-11-29 14:55:58Z dgorbachev $ 00020 * 00021 * PROJECT: ReactOS International Control Panel 00022 * FILE: dll/cpl/intl/currency.c 00023 * PURPOSE: Currency property page 00024 * PROGRAMMER: Eric Kohl 00025 */ 00026 00027 #include "intl.h" 00028 00029 #define POSITIVE_EXAMPLE _T("123456789.00") 00030 #define NEGATIVE_EXAMPLE _T("-123456789.00") 00031 #define MAX_FIELD_DIG_SAMPLES 3 00032 00033 00034 static VOID 00035 UpdateExamples(HWND hwndDlg, PGLOBALDATA pGlobalData) 00036 { 00037 TCHAR szBuffer[MAX_FMT_SIZE]; 00038 00039 /* Positive example */ 00040 GetCurrencyFormat(pGlobalData->lcid, 0, 00041 POSITIVE_EXAMPLE, 00042 NULL, szBuffer, MAX_FMT_SIZE); 00043 00044 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYPOSSAMPLE), WM_SETTEXT, 0, (LPARAM)szBuffer); 00045 00046 /* Negative example */ 00047 GetCurrencyFormat(pGlobalData->lcid, 0, 00048 NEGATIVE_EXAMPLE, 00049 NULL, szBuffer, MAX_FMT_SIZE); 00050 00051 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYNEGSAMPLE), WM_SETTEXT, 0, (LPARAM)szBuffer); 00052 } 00053 00054 00055 static VOID 00056 InitCurrencySymbols(HWND hwndDlg, PGLOBALDATA pGlobalData) 00057 { 00058 TCHAR szBuffer[MAX_FMT_SIZE]; 00059 00060 /* Limit text length */ 00061 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYSYMBOL), 00062 CB_LIMITTEXT, 00063 MAX_CURRENCYSYMBOL, 00064 0); 00065 00066 /* Set currency symbols */ 00067 GetLocaleInfo(pGlobalData->lcid, 00068 LOCALE_SCURRENCY, 00069 szBuffer, MAX_FMT_SIZE); 00070 00071 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYSYMBOL), 00072 CB_ADDSTRING, 00073 0, 00074 (LPARAM)szBuffer); 00075 00076 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYSYMBOL), 00077 CB_SETCURSEL, 00078 0, /* Index */ 00079 0); 00080 } 00081 00082 00083 static VOID 00084 InitCurrencyPositiveFormats(HWND hwndDlg, PGLOBALDATA pGlobalData) 00085 { 00086 TCHAR szDecimalSep[MAX_FMT_SIZE]; 00087 TCHAR szThousandSep[MAX_FMT_SIZE]; 00088 TCHAR szCurrencySymbol[MAX_FMT_SIZE]; 00089 TCHAR szBuffer[MAX_FMT_SIZE]; 00090 CURRENCYFMT cyFmt; 00091 INT nPositiveOrder = 0; 00092 INT ret; 00093 INT i; 00094 00095 00096 /* Get positive format */ 00097 ret = GetLocaleInfo(pGlobalData->lcid, 00098 LOCALE_ICURRENCY, 00099 szBuffer, MAX_FMT_SIZE); 00100 if (ret != 0) 00101 { 00102 nPositiveOrder = _ttoi(szBuffer); 00103 } 00104 00105 /* Get number of fractional digits */ 00106 ret = GetLocaleInfo(pGlobalData->lcid, 00107 LOCALE_ICURRDIGITS, 00108 szBuffer, MAX_FMT_SIZE); 00109 if (ret != 0) 00110 { 00111 cyFmt.NumDigits = _ttoi(szBuffer); 00112 } 00113 else 00114 { 00115 cyFmt.NumDigits = 0; 00116 } 00117 00118 /* Get decimal separator */ 00119 ret = GetLocaleInfo(pGlobalData->lcid, 00120 LOCALE_SMONDECIMALSEP, 00121 szDecimalSep, MAX_FMT_SIZE); 00122 00123 /* Get group separator */ 00124 ret = GetLocaleInfo(pGlobalData->lcid, 00125 LOCALE_SMONTHOUSANDSEP, 00126 szThousandSep, MAX_FMT_SIZE); 00127 00128 /* Get currency symbol */ 00129 ret = GetLocaleInfo(pGlobalData->lcid, 00130 LOCALE_SCURRENCY, 00131 szCurrencySymbol, MAX_FMT_SIZE); 00132 00133 /* positive currency values */ 00134 cyFmt.LeadingZero = 0; 00135 cyFmt.Grouping = 3; 00136 cyFmt.lpDecimalSep = szDecimalSep; 00137 cyFmt.lpThousandSep = szThousandSep; 00138 cyFmt.lpCurrencySymbol = szCurrencySymbol; 00139 cyFmt.NegativeOrder = 0; 00140 00141 for (i = 0; i < 4; i++) 00142 { 00143 cyFmt.PositiveOrder = i; 00144 GetCurrencyFormat(pGlobalData->lcid, 0, 00145 _T("1.1"), 00146 &cyFmt, szBuffer, MAX_FMT_SIZE); 00147 00148 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYPOSVALUE), 00149 CB_INSERTSTRING, 00150 -1, 00151 (LPARAM)szBuffer); 00152 } 00153 00154 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYPOSVALUE), 00155 CB_SETCURSEL, 00156 nPositiveOrder, 00157 0); 00158 } 00159 00160 00161 static VOID 00162 InitCurrencyNegativeFormats(HWND hwndDlg, PGLOBALDATA pGlobalData) 00163 { 00164 TCHAR szDecimalSep[MAX_FMT_SIZE]; 00165 TCHAR szThousandSep[MAX_FMT_SIZE]; 00166 TCHAR szCurrencySymbol[MAX_FMT_SIZE]; 00167 TCHAR szBuffer[MAX_FMT_SIZE]; 00168 CURRENCYFMT cyFmt; 00169 INT nNegativeOrder = 0; 00170 INT ret; 00171 int i; 00172 00173 /* Get negative format */ 00174 ret = GetLocaleInfo(pGlobalData->lcid, 00175 LOCALE_INEGCURR, 00176 szBuffer, MAX_FMT_SIZE); 00177 if (ret != 0) 00178 { 00179 nNegativeOrder = _ttoi(szBuffer); 00180 } 00181 00182 /* Get number of fractional digits */ 00183 ret = GetLocaleInfo(pGlobalData->lcid, 00184 LOCALE_ICURRDIGITS, 00185 szBuffer, MAX_FMT_SIZE); 00186 if (ret != 0) 00187 { 00188 cyFmt.NumDigits = _ttoi(szBuffer); 00189 } 00190 else 00191 { 00192 cyFmt.NumDigits = 0; 00193 } 00194 00195 /* Get decimal separator */ 00196 ret = GetLocaleInfo(pGlobalData->lcid, 00197 LOCALE_SMONDECIMALSEP, 00198 szDecimalSep, MAX_FMT_SIZE); 00199 00200 /* Get group separator */ 00201 ret = GetLocaleInfo(pGlobalData->lcid, 00202 LOCALE_SMONTHOUSANDSEP, 00203 szThousandSep, MAX_FMT_SIZE); 00204 00205 /* Get currency symbol */ 00206 ret = GetLocaleInfo(pGlobalData->lcid, 00207 LOCALE_SCURRENCY, 00208 szCurrencySymbol, MAX_FMT_SIZE); 00209 00210 /* negative currency values */ 00211 cyFmt.LeadingZero = 0; 00212 cyFmt.Grouping = 3; 00213 cyFmt.lpDecimalSep = szDecimalSep; 00214 cyFmt.lpThousandSep = szThousandSep; 00215 cyFmt.lpCurrencySymbol = szCurrencySymbol; 00216 cyFmt.PositiveOrder = 0; 00217 00218 for (i = 0; i < 16; i++) 00219 { 00220 cyFmt.NegativeOrder = i; 00221 GetCurrencyFormat(pGlobalData->lcid, 0, 00222 _T("-1.1"), 00223 &cyFmt, szBuffer, MAX_FMT_SIZE); 00224 00225 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYNEGVALUE), 00226 CB_INSERTSTRING, 00227 -1, 00228 (LPARAM)szBuffer); 00229 } 00230 00231 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYNEGVALUE), 00232 CB_SETCURSEL, 00233 nNegativeOrder, 00234 0); 00235 } 00236 00237 00238 static VOID 00239 InitCurrencyDecimalSeparators(HWND hwndDlg, PGLOBALDATA pGlobalData) 00240 { 00241 TCHAR szBuffer[MAX_FMT_SIZE]; 00242 00243 /* Limit text length */ 00244 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECSEP), 00245 CB_LIMITTEXT, 00246 MAX_CURRENCYDECSEP, 00247 0); 00248 00249 /* Get decimal separator */ 00250 GetLocaleInfo(pGlobalData->lcid, 00251 LOCALE_SMONDECIMALSEP, 00252 szBuffer, MAX_FMT_SIZE); 00253 00254 /* Decimal separator */ 00255 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECSEP), 00256 CB_ADDSTRING, 00257 0, 00258 (LPARAM)szBuffer); 00259 00260 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECSEP), 00261 CB_SETCURSEL, 00262 0, /* Index */ 00263 0); 00264 } 00265 00266 00267 /* Initialize the number of fractional digits */ 00268 static VOID 00269 InitCurrencyNumFracDigits(HWND hwndDlg, PGLOBALDATA pGlobalData) 00270 { 00271 TCHAR szBuffer[MAX_FMT_SIZE]; 00272 int ret; 00273 int i; 00274 00275 /* Create standard list of fractional symbols */ 00276 for (i = 0; i < 10; i++) 00277 { 00278 szBuffer[0] = _T('0') + i; 00279 szBuffer[1] = 0; 00280 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECNUM), 00281 CB_ADDSTRING, 00282 0, 00283 (LPARAM)szBuffer); 00284 } 00285 00286 /* Get number of fractional digits */ 00287 ret = GetLocaleInfo(pGlobalData->lcid, 00288 LOCALE_ICURRDIGITS, 00289 szBuffer, MAX_FMT_SIZE); 00290 if (ret != 0) 00291 { 00292 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECNUM), 00293 CB_SETCURSEL, 00294 _ttoi(szBuffer), 00295 0); 00296 } 00297 else 00298 { 00299 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECNUM), 00300 CB_SETCURSEL, 00301 0, 00302 0); 00303 } 00304 } 00305 00306 00307 /* Initialize the list of group separators */ 00308 static VOID 00309 InitCurrencyGroupSeparators(HWND hwndDlg, PGLOBALDATA pGlobalData) 00310 { 00311 TCHAR szBuffer[MAX_FMT_SIZE]; 00312 00313 /* Limit text length */ 00314 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPSEP), 00315 CB_LIMITTEXT, 00316 MAX_CURRENCYGRPSEP, 00317 0); 00318 00319 /* Get group separator */ 00320 GetLocaleInfo(pGlobalData->lcid, 00321 LOCALE_SMONTHOUSANDSEP, 00322 szBuffer, MAX_FMT_SIZE); 00323 00324 /* Digit group separator */ 00325 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPSEP), 00326 CB_ADDSTRING, 00327 0, 00328 (LPARAM)szBuffer); 00329 00330 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPSEP), 00331 CB_SETCURSEL, 00332 0, /* Index */ 00333 0); 00334 } 00335 00336 00337 static VOID 00338 InitDigitGroupCB(HWND hwndDlg, PGLOBALDATA pGlobalData) 00339 { 00340 TCHAR szThousandSep[MAX_FMT_SIZE]; 00341 TCHAR szGrouping[MAX_FMT_SIZE]; 00342 TCHAR szBuffer[MAX_FMT_SIZE]; 00343 CURRENCYFMT cyFmt; 00344 INT i; 00345 00346 /* Get group separator */ 00347 GetLocaleInfo(pGlobalData->lcid, 00348 LOCALE_SMONTHOUSANDSEP, 00349 szThousandSep, MAX_FMT_SIZE); 00350 00351 /* Get grouping */ 00352 GetLocaleInfo(pGlobalData->lcid, 00353 LOCALE_SMONGROUPING, 00354 szGrouping, MAX_FMT_SIZE); 00355 00356 /* Digit grouping */ 00357 cyFmt.NumDigits = 0; 00358 cyFmt.LeadingZero = 0; 00359 cyFmt.lpDecimalSep = _T(""); 00360 cyFmt.lpThousandSep = szThousandSep; 00361 cyFmt.PositiveOrder = 0; 00362 cyFmt.NegativeOrder = 0; 00363 cyFmt.lpCurrencySymbol = _T(""); 00364 cyFmt.Grouping = 0; 00365 GetCurrencyFormat(pGlobalData->lcid, 0, 00366 _T("123456789"), 00367 &cyFmt, szBuffer, MAX_FMT_SIZE); 00368 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPNUM), 00369 CB_INSERTSTRING, 00370 -1, 00371 (LPARAM)szBuffer); 00372 00373 cyFmt.Grouping = 3; 00374 GetCurrencyFormat(pGlobalData->lcid, 0, 00375 _T("123456789"), 00376 &cyFmt, szBuffer, MAX_FMT_SIZE); 00377 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPNUM), 00378 CB_INSERTSTRING, 00379 -1, 00380 (LPARAM)szBuffer); 00381 00382 cyFmt.Grouping = 32; 00383 GetCurrencyFormat(pGlobalData->lcid, 0, 00384 _T("123456789"), 00385 &cyFmt, szBuffer, MAX_FMT_SIZE); 00386 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPNUM), 00387 CB_INSERTSTRING, 00388 -1, 00389 (LPARAM)szBuffer); 00390 00391 i = 0; 00392 if (szGrouping[0] == _T('3')) 00393 { 00394 if ((szGrouping[1] == _T(';')) && 00395 (szGrouping[2] == _T('2'))) 00396 i = 2; 00397 else 00398 i = 1; 00399 } 00400 00401 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPNUM), 00402 CB_SETCURSEL, 00403 i, /* Index */ 00404 0); 00405 } 00406 00407 00408 /* Set number of digits in field */ 00409 static BOOL 00410 SetCurrencyDigNum(HWND hwndDlg, LCID lcid) 00411 { 00412 LPTSTR szFieldDigNumSamples[MAX_FIELD_DIG_SAMPLES]= 00413 { 00414 _T("0;0"), 00415 _T("3;0"), 00416 _T("3;2;0") 00417 }; 00418 00419 int nCurrSel; 00420 00421 /* Get setted number of digits in field */ 00422 nCurrSel = SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPNUM), 00423 CB_GETCURSEL, 00424 (WPARAM)0, 00425 (LPARAM)0); 00426 00427 /* Save number of digits in field */ 00428 if (nCurrSel != CB_ERR) 00429 SetLocaleInfo(lcid, LOCALE_SMONGROUPING, szFieldDigNumSamples[nCurrSel]); 00430 00431 return TRUE; 00432 } 00433 00434 /* Set currency field separator */ 00435 static BOOL 00436 SetCurrencyFieldSep(HWND hwndDlg, LCID lcid) 00437 { 00438 TCHAR szCurrencyFieldSep[MAX_SAMPLES_STR_SIZE]; 00439 00440 /* Get setted currency field separator */ 00441 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYGRPSEP), 00442 WM_GETTEXT, 00443 (WPARAM)MAX_SAMPLES_STR_SIZE, 00444 (LPARAM)szCurrencyFieldSep); 00445 00446 /* Save currency field separator */ 00447 SetLocaleInfo(lcid, LOCALE_SMONTHOUSANDSEP, szCurrencyFieldSep); 00448 00449 return TRUE; 00450 } 00451 00452 /* Set number of fractional symbols */ 00453 static BOOL 00454 SetCurrencyFracSymNum(HWND hwndDlg, LCID lcid) 00455 { 00456 TCHAR szCurrencyFracSymNum[MAX_SAMPLES_STR_SIZE]; 00457 INT nCurrSel; 00458 00459 /* Get setted number of fractional symbols */ 00460 nCurrSel = SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECNUM), 00461 CB_GETCURSEL, 00462 (WPARAM)0, 00463 (LPARAM)0); 00464 00465 /* Convert to wide char */ 00466 _itot(nCurrSel, szCurrencyFracSymNum, DECIMAL_RADIX); 00467 00468 /* Save number of fractional symbols */ 00469 SetLocaleInfo(lcid, LOCALE_ICURRDIGITS, szCurrencyFracSymNum); 00470 00471 return TRUE; 00472 } 00473 00474 /* Set currency separator */ 00475 static BOOL 00476 SetCurrencySep(HWND hwndDlg, LCID lcid) 00477 { 00478 TCHAR szCurrencySep[MAX_SAMPLES_STR_SIZE]; 00479 00480 /* Get setted currency decimal separator */ 00481 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYDECSEP), 00482 WM_GETTEXT, 00483 (WPARAM)MAX_SAMPLES_STR_SIZE, 00484 (LPARAM)szCurrencySep); 00485 00486 /* TODO: Add check for correctly input */ 00487 00488 /* Save currency separator */ 00489 SetLocaleInfo(lcid, LOCALE_SMONDECIMALSEP, szCurrencySep); 00490 00491 return TRUE; 00492 } 00493 00494 /* Set negative currency sum format */ 00495 static BOOL 00496 SetNegCurrencySumFmt(HWND hwndDlg, LCID lcid) 00497 { 00498 TCHAR szNegCurrencySumFmt[MAX_SAMPLES_STR_SIZE]; 00499 INT nCurrSel; 00500 00501 /* Get setted currency unit */ 00502 nCurrSel = SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYNEGVALUE), 00503 CB_GETCURSEL, 00504 (WPARAM)0, 00505 (LPARAM)0); 00506 00507 /* Convert to wide char */ 00508 _itot(nCurrSel, szNegCurrencySumFmt, DECIMAL_RADIX); 00509 00510 /* Save currency sum format */ 00511 SetLocaleInfo(lcid, LOCALE_INEGCURR, szNegCurrencySumFmt); 00512 00513 return TRUE; 00514 } 00515 00516 /* Set positive currency sum format */ 00517 static BOOL 00518 SetPosCurrencySumFmt(HWND hwndDlg, LCID lcid) 00519 { 00520 TCHAR szPosCurrencySumFmt[MAX_SAMPLES_STR_SIZE]; 00521 INT nCurrSel; 00522 00523 /* Get setted currency unit */ 00524 nCurrSel = SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYPOSVALUE), 00525 CB_GETCURSEL, 00526 (WPARAM)0, 00527 (LPARAM)0); 00528 00529 /* Convert to wide char */ 00530 _itot(nCurrSel, szPosCurrencySumFmt, DECIMAL_RADIX); 00531 00532 /* Save currency sum format */ 00533 SetLocaleInfo(lcid, LOCALE_ICURRENCY, szPosCurrencySumFmt); 00534 00535 return TRUE; 00536 } 00537 00538 /* Set currency unit */ 00539 static BOOL 00540 SetCurrencyUnit(HWND hwndDlg, LCID lcid) 00541 { 00542 TCHAR szCurrencyUnit[MAX_SAMPLES_STR_SIZE]; 00543 00544 /* Get setted currency unit */ 00545 SendMessage(GetDlgItem(hwndDlg, IDC_CURRENCYSYMBOL), 00546 WM_GETTEXT, 00547 (WPARAM)MAX_SAMPLES_STR_SIZE, 00548 (LPARAM)(LPCSTR)szCurrencyUnit); 00549 00550 /* Save currency unit */ 00551 SetLocaleInfo(lcid, LOCALE_SCURRENCY, szCurrencyUnit); 00552 00553 return TRUE; 00554 } 00555 00556 /* Property page dialog callback */ 00557 INT_PTR CALLBACK 00558 CurrencyPageProc(HWND hwndDlg, 00559 UINT uMsg, 00560 WPARAM wParam, 00561 LPARAM lParam) 00562 { 00563 PGLOBALDATA pGlobalData; 00564 00565 pGlobalData = (PGLOBALDATA)GetWindowLongPtr(hwndDlg, DWLP_USER); 00566 00567 switch (uMsg) 00568 { 00569 case WM_INITDIALOG: 00570 pGlobalData = (PGLOBALDATA)((LPPROPSHEETPAGE)lParam)->lParam; 00571 SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData); 00572 00573 InitCurrencySymbols(hwndDlg, pGlobalData); 00574 InitCurrencyPositiveFormats(hwndDlg, pGlobalData); 00575 InitCurrencyNegativeFormats(hwndDlg, pGlobalData); 00576 InitCurrencyDecimalSeparators(hwndDlg, pGlobalData); 00577 InitCurrencyNumFracDigits(hwndDlg, pGlobalData); 00578 InitCurrencyGroupSeparators(hwndDlg, pGlobalData); 00579 InitDigitGroupCB(hwndDlg, pGlobalData); 00580 UpdateExamples(hwndDlg, pGlobalData); 00581 break; 00582 00583 case WM_COMMAND: 00584 switch (LOWORD(wParam)) 00585 { 00586 case IDC_CURRENCYSYMBOL: 00587 case IDC_CURRENCYPOSVALUE: 00588 case IDC_CURRENCYNEGVALUE: 00589 case IDC_CURRENCYDECSEP: 00590 case IDC_CURRENCYDECNUM: 00591 case IDC_CURRENCYGRPSEP: 00592 case IDC_CURRENCYGRPNUM: 00593 if (HIWORD(wParam) == CBN_SELCHANGE || HIWORD(wParam) == CBN_EDITCHANGE) 00594 { 00595 /* Set "Apply" button enabled */ 00596 PropSheet_Changed(GetParent(hwndDlg), hwndDlg); 00597 } 00598 } 00599 break; 00600 00601 case WM_NOTIFY: 00602 { 00603 LPNMHDR lpnm = (LPNMHDR)lParam; 00604 /* If push apply button */ 00605 if (lpnm->code == (UINT)PSN_APPLY) 00606 { 00607 if (!SetCurrencyDigNum(hwndDlg, pGlobalData->lcid)) 00608 break; 00609 00610 if (!SetCurrencyUnit(hwndDlg, pGlobalData->lcid)) 00611 break; 00612 00613 if (!SetPosCurrencySumFmt(hwndDlg, pGlobalData->lcid)) 00614 break; 00615 00616 if (!SetNegCurrencySumFmt(hwndDlg, pGlobalData->lcid)) 00617 break; 00618 00619 if (!SetCurrencySep(hwndDlg, pGlobalData->lcid)) 00620 break; 00621 00622 if (!SetCurrencyFracSymNum(hwndDlg, pGlobalData->lcid)) 00623 break; 00624 00625 if (!SetCurrencyFieldSep(hwndDlg, pGlobalData->lcid)) 00626 break; 00627 00628 UpdateExamples(hwndDlg, pGlobalData); 00629 } 00630 } 00631 break; 00632 } 00633 return FALSE; 00634 } 00635 00636 /* EOF */ Generated on Fri May 25 2012 04:19:04 for ReactOS by
1.7.6.1
|