mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 20:59:54 +00:00
Avoid W->A transitions.
This commit is contained in:
parent
268f62f47d
commit
afab8342bb
@ -156,17 +156,15 @@ static INT PRINTDLG_SetUpPrinterListComboW(HWND hDlg, UINT id, LPCWSTR name)
|
||||
if(!name ||
|
||||
(i = SendDlgItemMessageW(hDlg, id, CB_FINDSTRINGEXACT, -1,
|
||||
(LPARAM)name)) == CB_ERR) {
|
||||
|
||||
/* ansi is ok */
|
||||
char buf[260];
|
||||
DWORD dwBufLen = sizeof(buf);
|
||||
FIXME("Can't find '%s' in printer list so trying to find default\n",
|
||||
WCHAR buf[260];
|
||||
DWORD dwBufLen = sizeof(buf)/sizeof(buf[0]);
|
||||
TRACE("Can't find '%s' in printer list so trying to find default\n",
|
||||
debugstr_w(name));
|
||||
if(!GetDefaultPrinterA(buf, &dwBufLen))
|
||||
if(!GetDefaultPrinterW(buf, &dwBufLen))
|
||||
return num;
|
||||
i = SendDlgItemMessageA(hDlg, id, CB_FINDSTRINGEXACT, -1, (LPARAM)buf);
|
||||
i = SendDlgItemMessageW(hDlg, id, CB_FINDSTRINGEXACT, -1, (LPARAM)buf);
|
||||
if(i == CB_ERR)
|
||||
FIXME("Can't find default printer in printer list\n");
|
||||
TRACE("Can't find default printer in printer list\n");
|
||||
}
|
||||
SendDlgItemMessageW(hDlg, id, CB_SETCURSEL, i, 0);
|
||||
return num;
|
||||
@ -378,14 +376,14 @@ static BOOL PRINTDLG_UpdatePrintDlgW(HWND hDlg,
|
||||
nToPage = GetDlgItemInt(hDlg, edt2, NULL, FALSE);
|
||||
if (nFromPage < lppd->nMinPage || nFromPage > lppd->nMaxPage ||
|
||||
nToPage < lppd->nMinPage || nToPage > lppd->nMaxPage) {
|
||||
char resourcestr[256];
|
||||
char resultstr[256];
|
||||
LoadStringA(COMDLG32_hInstance, PD32_INVALID_PAGE_RANGE,
|
||||
WCHAR resourcestr[256];
|
||||
WCHAR resultstr[256];
|
||||
LoadStringW(COMDLG32_hInstance, PD32_INVALID_PAGE_RANGE,
|
||||
resourcestr, 255);
|
||||
sprintf(resultstr,resourcestr, lppd->nMinPage, lppd->nMaxPage);
|
||||
LoadStringA(COMDLG32_hInstance, PD32_PRINT_TITLE,
|
||||
wsprintfW(resultstr,resourcestr, lppd->nMinPage, lppd->nMaxPage);
|
||||
LoadStringW(COMDLG32_hInstance, PD32_PRINT_TITLE,
|
||||
resourcestr, 255);
|
||||
MessageBoxA(hDlg, resultstr, resourcestr,
|
||||
MessageBoxW(hDlg, resultstr, resourcestr,
|
||||
MB_OK | MB_ICONWARNING);
|
||||
return FALSE;
|
||||
}
|
||||
@ -681,13 +679,13 @@ static BOOL PRINTDLG_SetUpPaperComboBoxW(HWND hDlg,
|
||||
TRACE(" Printer: %s, Port: %s, ComboID: %d\n",debugstr_w(PrinterName),debugstr_w(PortName),nIDComboBox);
|
||||
|
||||
/* query the dialog box for the current selected value */
|
||||
Sel = SendDlgItemMessageA(hDlg, nIDComboBox, CB_GETCURSEL, 0, 0);
|
||||
Sel = SendDlgItemMessageW(hDlg, nIDComboBox, CB_GETCURSEL, 0, 0);
|
||||
if(Sel != CB_ERR) {
|
||||
/* we enter here only if a different printer is selected after
|
||||
* the Print Setup dialog is opened. The current settings are
|
||||
* stored into the newly selected printer.
|
||||
*/
|
||||
oldWord = SendDlgItemMessageA(hDlg, nIDComboBox, CB_GETITEMDATA,
|
||||
oldWord = SendDlgItemMessageW(hDlg, nIDComboBox, CB_GETITEMDATA,
|
||||
Sel, 0);
|
||||
if (dm) {
|
||||
if (nIDComboBox == cmb2)
|
||||
@ -745,7 +743,7 @@ static BOOL PRINTDLG_SetUpPaperComboBoxW(HWND hDlg,
|
||||
fwCapability_Words, (LPWSTR)Words, dm);
|
||||
|
||||
/* reset any current content in the combobox */
|
||||
SendDlgItemMessageA(hDlg, nIDComboBox, CB_RESETCONTENT, 0, 0);
|
||||
SendDlgItemMessageW(hDlg, nIDComboBox, CB_RESETCONTENT, 0, 0);
|
||||
|
||||
/* store new content */
|
||||
for (i = 0; i < NrOfEntries; i++) {
|
||||
@ -759,13 +757,13 @@ static BOOL PRINTDLG_SetUpPaperComboBoxW(HWND hDlg,
|
||||
item order will change as more items are added */
|
||||
Sel = 0;
|
||||
for (i = 0; i < NrOfEntries; i++) {
|
||||
if(SendDlgItemMessageA(hDlg, nIDComboBox, CB_GETITEMDATA, i, 0) ==
|
||||
if(SendDlgItemMessageW(hDlg, nIDComboBox, CB_GETITEMDATA, i, 0) ==
|
||||
oldWord) {
|
||||
Sel = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
SendDlgItemMessageA(hDlg, nIDComboBox, CB_SETCURSEL, Sel, 0);
|
||||
SendDlgItemMessageW(hDlg, nIDComboBox, CB_SETCURSEL, Sel, 0);
|
||||
|
||||
HeapFree(GetProcessHeap(),0,Words);
|
||||
HeapFree(GetProcessHeap(),0,Names);
|
||||
@ -1094,13 +1092,12 @@ static BOOL PRINTDLG_ChangePrinterW(HWND hDlg, WCHAR *name,
|
||||
}
|
||||
/* "All xxx pages"... */
|
||||
{
|
||||
/* ansi is ok */
|
||||
char resourcestr[64];
|
||||
char result[64];
|
||||
LoadStringA(COMDLG32_hInstance, PD32_PRINT_ALL_X_PAGES,
|
||||
WCHAR resourcestr[64];
|
||||
WCHAR result[64];
|
||||
LoadStringW(COMDLG32_hInstance, PD32_PRINT_ALL_X_PAGES,
|
||||
resourcestr, 49);
|
||||
sprintf(result,resourcestr,lppd->nMaxPage - lppd->nMinPage + 1);
|
||||
SendDlgItemMessageA(hDlg, rad1, WM_SETTEXT, 0, (LPARAM) result);
|
||||
wsprintfW(result,resourcestr,lppd->nMaxPage - lppd->nMinPage + 1);
|
||||
SendDlgItemMessageW(hDlg, rad1, WM_SETTEXT, 0, (LPARAM) result);
|
||||
}
|
||||
|
||||
/* Collate pages
|
||||
@ -1108,11 +1105,11 @@ static BOOL PRINTDLG_ChangePrinterW(HWND hDlg, WCHAR *name,
|
||||
* FIXME: The ico3 is not displayed for some reason. I don't know why.
|
||||
*/
|
||||
if (lppd->Flags & PD_COLLATE) {
|
||||
SendDlgItemMessageA(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hCollateIcon);
|
||||
CheckDlgButton(hDlg, chx2, 1);
|
||||
} else {
|
||||
SendDlgItemMessageA(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hNoCollateIcon);
|
||||
CheckDlgButton(hDlg, chx2, 0);
|
||||
}
|
||||
@ -1164,7 +1161,7 @@ static BOOL PRINTDLG_ChangePrinterW(HWND hDlg, WCHAR *name,
|
||||
PrintStructures->lpPrinterInfo->pPortName,
|
||||
lpdm);
|
||||
CheckRadioButton(hDlg, rad1, rad2, bPortrait ? rad1: rad2);
|
||||
SendDlgItemMessageA(hDlg, ico1, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico1, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)(bPortrait ? PrintStructures->hPortraitIcon :
|
||||
PrintStructures->hLandscapeIcon));
|
||||
|
||||
@ -1292,6 +1289,10 @@ static LRESULT PRINTDLG_WMInitDialog(HWND hDlg, WPARAM wParam,
|
||||
static LRESULT PRINTDLG_WMInitDialogW(HWND hDlg, WPARAM wParam,
|
||||
PRINT_PTRW* PrintStructures)
|
||||
{
|
||||
const static WCHAR PD32_COLLATE[] = { 'P', 'D', '3', '2', '_', 'C', 'O', 'L', 'L', 'A', 'T', 'E', 0 };
|
||||
const static WCHAR PD32_NOCOLLATE[] = { 'P', 'D', '3', '2', '_', 'N', 'O', 'C', 'O', 'L', 'L', 'A', 'T', 'E', 0 };
|
||||
const static WCHAR PD32_PORTRAIT[] = { 'P', 'D', '3', '2', '_', 'P', 'O', 'R', 'T', 'R', 'A', 'I', 'T', 0 };
|
||||
const static WCHAR PD32_LANDSCAPE[] = { 'P', 'D', '3', '2', '_', 'L', 'A', 'N', 'D', 'S', 'C', 'A', 'P', 'E', 0 };
|
||||
LPPRINTDLGW lppd = PrintStructures->lpPrintDlg;
|
||||
DEVNAMES *pdn;
|
||||
DEVMODEW *pdm;
|
||||
@ -1302,18 +1303,18 @@ static LRESULT PRINTDLG_WMInitDialogW(HWND hDlg, WPARAM wParam,
|
||||
/* We load these with LoadImage because they are not a standard
|
||||
size and we don't want them rescaled */
|
||||
PrintStructures->hCollateIcon =
|
||||
LoadImageA(COMDLG32_hInstance, "PD32_COLLATE", IMAGE_ICON, 0, 0, 0);
|
||||
LoadImageW(COMDLG32_hInstance, PD32_COLLATE, IMAGE_ICON, 0, 0, 0);
|
||||
PrintStructures->hNoCollateIcon =
|
||||
LoadImageA(COMDLG32_hInstance, "PD32_NOCOLLATE", IMAGE_ICON, 0, 0, 0);
|
||||
LoadImageW(COMDLG32_hInstance, PD32_NOCOLLATE, IMAGE_ICON, 0, 0, 0);
|
||||
|
||||
/* These can be done with LoadIcon */
|
||||
PrintStructures->hPortraitIcon =
|
||||
LoadIconA(COMDLG32_hInstance, "PD32_PORTRAIT");
|
||||
LoadIconW(COMDLG32_hInstance, PD32_PORTRAIT);
|
||||
PrintStructures->hLandscapeIcon =
|
||||
LoadIconA(COMDLG32_hInstance, "PD32_LANDSCAPE");
|
||||
LoadIconW(COMDLG32_hInstance, PD32_LANDSCAPE);
|
||||
|
||||
/* display the collate/no_collate icon */
|
||||
SendDlgItemMessageA(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hNoCollateIcon);
|
||||
|
||||
if(PrintStructures->hCollateIcon == 0 ||
|
||||
@ -1331,7 +1332,7 @@ static LRESULT PRINTDLG_WMInitDialogW(HWND hDlg, WPARAM wParam,
|
||||
*/
|
||||
if (lppd->Flags & PD_SHOWHELP) {
|
||||
if((PrintStructures->HelpMessageID =
|
||||
RegisterWindowMessageA(HELPMSGSTRINGA)) == 0) {
|
||||
RegisterWindowMessageW(HELPMSGSTRINGW)) == 0) {
|
||||
COMDLG32_SetCommDlgExtendedError(CDERR_REGISTERMSGFAIL);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1608,10 +1609,10 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam,
|
||||
|
||||
case chx2: /* collate pages checkbox */
|
||||
if (IsDlgButtonChecked(hDlg, chx2) == BST_CHECKED)
|
||||
SendDlgItemMessageA(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hCollateIcon);
|
||||
else
|
||||
SendDlgItemMessageA(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico3, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hNoCollateIcon);
|
||||
break;
|
||||
case edt1: /* from page nr editbox */
|
||||
@ -1663,7 +1664,7 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam,
|
||||
if (lppd->Flags & PD_PRINTSETUP)
|
||||
{
|
||||
lpdm->u1.s1.dmOrientation = DMORIENT_PORTRAIT;
|
||||
SendDlgItemMessageA(hDlg, ico1, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico1, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)(PrintStructures->hPortraitIcon));
|
||||
}
|
||||
break;
|
||||
@ -1672,7 +1673,7 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam,
|
||||
if (lppd->Flags & PD_PRINTSETUP)
|
||||
{
|
||||
lpdm->u1.s1.dmOrientation = DMORIENT_LANDSCAPE;
|
||||
SendDlgItemMessageA(hDlg, ico1, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
SendDlgItemMessageW(hDlg, ico1, STM_SETIMAGE, (WPARAM) IMAGE_ICON,
|
||||
(LPARAM)(PrintStructures->hLandscapeIcon));
|
||||
}
|
||||
break;
|
||||
@ -1693,9 +1694,9 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam,
|
||||
|
||||
case cmb2: /* Papersize */
|
||||
{
|
||||
DWORD Sel = SendDlgItemMessageA(hDlg, cmb2, CB_GETCURSEL, 0, 0);
|
||||
DWORD Sel = SendDlgItemMessageW(hDlg, cmb2, CB_GETCURSEL, 0, 0);
|
||||
if(Sel != CB_ERR)
|
||||
lpdm->u1.s1.dmPaperSize = SendDlgItemMessageA(hDlg, cmb2,
|
||||
lpdm->u1.s1.dmPaperSize = SendDlgItemMessageW(hDlg, cmb2,
|
||||
CB_GETITEMDATA,
|
||||
Sel, 0);
|
||||
}
|
||||
@ -1703,7 +1704,7 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam,
|
||||
|
||||
case cmb3: /* Bin */
|
||||
{
|
||||
DWORD Sel = SendDlgItemMessageA(hDlg, cmb3, CB_GETCURSEL, 0, 0);
|
||||
DWORD Sel = SendDlgItemMessageW(hDlg, cmb3, CB_GETCURSEL, 0, 0);
|
||||
if(Sel != CB_ERR)
|
||||
lpdm->dmDefaultSource = SendDlgItemMessageW(hDlg, cmb3,
|
||||
CB_GETITEMDATA, Sel,
|
||||
@ -1718,20 +1719,20 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam,
|
||||
if (IsDlgButtonChecked(hDlg, rad1) == BST_CHECKED) {
|
||||
if(lpdm->u1.s1.dmOrientation != DMORIENT_PORTRAIT) {
|
||||
lpdm->u1.s1.dmOrientation = DMORIENT_PORTRAIT;
|
||||
SendDlgItemMessageA(hDlg, stc10, STM_SETIMAGE,
|
||||
SendDlgItemMessageW(hDlg, stc10, STM_SETIMAGE,
|
||||
(WPARAM)IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hPortraitIcon);
|
||||
SendDlgItemMessageA(hDlg, ico1, STM_SETIMAGE,
|
||||
SendDlgItemMessageW(hDlg, ico1, STM_SETIMAGE,
|
||||
(WPARAM)IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hPortraitIcon);
|
||||
}
|
||||
} else {
|
||||
if(lpdm->u1.s1.dmOrientation != DMORIENT_LANDSCAPE) {
|
||||
lpdm->u1.s1.dmOrientation = DMORIENT_LANDSCAPE;
|
||||
SendDlgItemMessageA(hDlg, stc10, STM_SETIMAGE,
|
||||
SendDlgItemMessageW(hDlg, stc10, STM_SETIMAGE,
|
||||
(WPARAM)IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hLandscapeIcon);
|
||||
SendDlgItemMessageA(hDlg, ico1, STM_SETIMAGE,
|
||||
SendDlgItemMessageW(hDlg, ico1, STM_SETIMAGE,
|
||||
(WPARAM)IMAGE_ICON,
|
||||
(LPARAM)PrintStructures->hLandscapeIcon);
|
||||
}
|
||||
@ -2382,23 +2383,26 @@ _c_size2strA(PageSetupDataA *pda,DWORD size,LPSTR strout) {
|
||||
return;
|
||||
}
|
||||
static void
|
||||
_c_size2strW(PageSetupDataW *pda,DWORD size,LPSTR strout) {
|
||||
strcpy(strout,"<undef>");
|
||||
_c_size2strW(PageSetupDataW *pda,DWORD size,LPWSTR strout) {
|
||||
const static WCHAR UNDEF[] = { '<', 'u', 'n', 'd', 'e', 'f', '>', 0 };
|
||||
const static WCHAR mm_fmt[] = { '%', '.', '2', 'f', 'm', 'm', 0 };
|
||||
const static WCHAR in_fmt[] = { '%', '.', '2', 'f', 'i', 'n', 0 };
|
||||
lstrcpyW(strout, UNDEF);
|
||||
if (pda->dlga->Flags & PSD_INHUNDREDTHSOFMILLIMETERS) {
|
||||
sprintf(strout,"%.2fmm",(size*1.0)/100.0);
|
||||
wsprintfW(strout,mm_fmt,(size*1.0)/100.0);
|
||||
return;
|
||||
}
|
||||
if (pda->dlga->Flags & PSD_INTHOUSANDTHSOFINCHES) {
|
||||
sprintf(strout,"%.2fin",(size*1.0)/1000.0);
|
||||
wsprintfW(strout,in_fmt,(size*1.0)/1000.0);
|
||||
return;
|
||||
}
|
||||
pda->dlga->Flags |= PSD_INHUNDREDTHSOFMILLIMETERS;
|
||||
sprintf(strout,"%.2fmm",(size*1.0)/100.0);
|
||||
wsprintfW(strout,mm_fmt,(size*1.0)/100.0);
|
||||
return;
|
||||
}
|
||||
|
||||
static DWORD
|
||||
_c_str2size(PAGESETUPDLGA *dlga,LPCSTR strin) {
|
||||
_c_str2sizeA(PAGESETUPDLGA *dlga,LPCSTR strin) {
|
||||
float val;
|
||||
char rest[200];
|
||||
|
||||
@ -2437,6 +2441,17 @@ _c_str2size(PAGESETUPDLGA *dlga,LPCSTR strin) {
|
||||
}
|
||||
|
||||
|
||||
static DWORD
|
||||
_c_str2sizeW(PAGESETUPDLGW *dlga, LPCWSTR strin) {
|
||||
char buf[200];
|
||||
|
||||
/* this W -> A transition is OK */
|
||||
/* we need a unicode version of sscanf to avoid it */
|
||||
WideCharToMultiByte(CP_ACP, 0, strin, -1, buf, sizeof(buf), NULL, NULL);
|
||||
return _c_str2sizeA((PAGESETUPDLGA *)dlga, buf);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* This is called on finish and will update the output fields of the
|
||||
* struct.
|
||||
@ -2462,7 +2477,7 @@ PRINTDLG_PS_UpdateDlgStructA(HWND hDlg, PageSetupDataA *pda) {
|
||||
pda->dlga->ptPaperSize.y = _c_10mm2size(pda->dlga,pda->dlga->ptPaperSize.y);
|
||||
} else
|
||||
FIXME("could not get dialog text for papersize cmbbox?\n");
|
||||
#define GETVAL(id,val) if (GetDlgItemTextA(hDlg,id,buf,sizeof(buf))>0) { val = _c_str2size(pda->dlga,buf); } else { FIXME("could not get dlgitemtexta for %x\n",id); }
|
||||
#define GETVAL(id,val) if (GetDlgItemTextA(hDlg,id,buf,sizeof(buf))>0) { val = _c_str2sizeA(pda->dlga,buf); } else { FIXME("could not get dlgitemtexta for %x\n",id); }
|
||||
GETVAL(edt4,pda->dlga->rtMargin.left);
|
||||
GETVAL(edt5,pda->dlga->rtMargin.top);
|
||||
GETVAL(edt6,pda->dlga->rtMargin.right);
|
||||
@ -2487,8 +2502,7 @@ PRINTDLG_PS_UpdateDlgStructW(HWND hDlg, PageSetupDataW *pda) {
|
||||
DEVMODEW *dm;
|
||||
LPWSTR devname,portname;
|
||||
WCHAR papername[64];
|
||||
|
||||
char buf[200];
|
||||
WCHAR buf[200];
|
||||
|
||||
dn = GlobalLock(pda->pdlg.hDevNames);
|
||||
dm = GlobalLock(pda->pdlg.hDevMode);
|
||||
@ -2503,7 +2517,7 @@ PRINTDLG_PS_UpdateDlgStructW(HWND hDlg, PageSetupDataW *pda) {
|
||||
pda->dlga->ptPaperSize.y = _c_10mm2size((LPPAGESETUPDLGA)pda->dlga,pda->dlga->ptPaperSize.y);
|
||||
} else
|
||||
FIXME("could not get dialog text for papersize cmbbox?\n");
|
||||
#define GETVAL(id,val) if (GetDlgItemTextA(hDlg,id,buf,sizeof(buf))>0) { val = _c_str2size((LPPAGESETUPDLGA)pda->dlga,buf); } else { FIXME("could not get dlgitemtexta for %x\n",id); }
|
||||
#define GETVAL(id,val) if (GetDlgItemTextW(hDlg,id,buf,sizeof(buf)/sizeof(buf[0]))>0) { val = _c_str2sizeW(pda->dlga,buf); } else { FIXME("could not get dlgitemtextw for %x\n",id); }
|
||||
GETVAL(edt4,pda->dlga->rtMargin.left);
|
||||
GETVAL(edt5,pda->dlga->rtMargin.top);
|
||||
GETVAL(edt6,pda->dlga->rtMargin.right);
|
||||
@ -2703,13 +2717,16 @@ PageDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
static INT_PTR CALLBACK
|
||||
PageDlgProcW(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
const static WCHAR __WINE_PAGESETUPDLGDATA[] =
|
||||
{ '_', '_', 'W', 'I', 'N', 'E', '_', 'P', 'A', 'G', 'E',
|
||||
'S', 'E', 'T', 'U', 'P', 'D', 'L', 'G', 'D', 'A', 'T', 'A', 0 };
|
||||
PageSetupDataW *pda;
|
||||
BOOL res = FALSE;
|
||||
|
||||
if (uMsg==WM_INITDIALOG) {
|
||||
res = TRUE;
|
||||
pda = (PageSetupDataW*)lParam;
|
||||
SetPropA(hDlg,"__WINE_PAGESETUPDLGDATA",pda);
|
||||
SetPropW(hDlg, __WINE_PAGESETUPDLGDATA, pda);
|
||||
if (pda->dlga->Flags & PSD_ENABLEPAGESETUPHOOK) {
|
||||
res = pda->dlga->lpfnPageSetupHook(hDlg,uMsg,wParam,(LPARAM)pda->dlga);
|
||||
if (!res) {
|
||||
@ -2739,24 +2756,24 @@ PageDlgProcW(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
/* We fill them out enabled or not */
|
||||
if (pda->dlga->Flags & PSD_MARGINS) {
|
||||
char str[100];
|
||||
WCHAR str[100];
|
||||
_c_size2strW(pda,pda->dlga->rtMargin.left,str);
|
||||
SetDlgItemTextA(hDlg,edt4,str);
|
||||
SetDlgItemTextW(hDlg,edt4,str);
|
||||
_c_size2strW(pda,pda->dlga->rtMargin.top,str);
|
||||
SetDlgItemTextA(hDlg,edt5,str);
|
||||
SetDlgItemTextW(hDlg,edt5,str);
|
||||
_c_size2strW(pda,pda->dlga->rtMargin.right,str);
|
||||
SetDlgItemTextA(hDlg,edt6,str);
|
||||
SetDlgItemTextW(hDlg,edt6,str);
|
||||
_c_size2strW(pda,pda->dlga->rtMargin.bottom,str);
|
||||
SetDlgItemTextA(hDlg,edt7,str);
|
||||
SetDlgItemTextW(hDlg,edt7,str);
|
||||
} else {
|
||||
/* default is 1 inch */
|
||||
DWORD size = _c_inch2size((LPPAGESETUPDLGA)pda->dlga,1000);
|
||||
char str[20];
|
||||
WCHAR str[20];
|
||||
_c_size2strW(pda,size,str);
|
||||
SetDlgItemTextA(hDlg,edt4,str);
|
||||
SetDlgItemTextA(hDlg,edt5,str);
|
||||
SetDlgItemTextA(hDlg,edt6,str);
|
||||
SetDlgItemTextA(hDlg,edt7,str);
|
||||
SetDlgItemTextW(hDlg,edt4,str);
|
||||
SetDlgItemTextW(hDlg,edt5,str);
|
||||
SetDlgItemTextW(hDlg,edt6,str);
|
||||
SetDlgItemTextW(hDlg,edt7,str);
|
||||
}
|
||||
PRINTDLG_PS_ChangePrinterW(hDlg,pda);
|
||||
if (pda->dlga->Flags & PSD_DISABLEPAPER) {
|
||||
@ -2765,7 +2782,7 @@ PageDlgProcW(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
return TRUE;
|
||||
} else {
|
||||
pda = (PageSetupDataW*)GetPropA(hDlg,"__WINE_PAGESETUPDLGDATA");
|
||||
pda = (PageSetupDataW*)GetPropW(hDlg, __WINE_PAGESETUPDLGDATA);
|
||||
if (!pda) {
|
||||
WARN("__WINE_PAGESETUPDLGDATA prop not set?\n");
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user