Hello,
I'm trying to make choosefont dialog working.
(I'm not sending this patch to wine-patches because it is incomplete ,and
I rather need some ideas ) First hunk of the patch allows changing
font colors in 16-bit apps , and it seems to work properly. Second
and third hunk affects both 16 and 32 bit apps ,and my intention is
to fix CF_INITTOLOGFONTSTRUCT style handling. It almost works ,but
code in dlls/commdlg/fontdlg.c is very cryptic (was it based on
original Micro$oft code ? :-) ) .
Should it be wrtitten from beginning :-( ?
Trying to patch this file resemble hard patchwork :-) or else
I spent too little time on trying to understand the file.
Maciek
--- /home/mkalisz/wine/dlls/commdlg/fontdlg.c Tue Jun 19 05:34:07 2001
+++ dlls/commdlg/fontdlg.c Sat Jun 23 01:27:57 2001
@@ -220,6 +220,7 @@
}
lpChFont->lpTemplateName=lpTemplateName;
+ lpChFont->rgbColors=cf32a.rgbColors;
font16 = MapSL(lpChFont->lpLogFont);
font16->lfHeight = cf32a.lpLogFont->lfHeight;
@@ -782,7 +783,7 @@
j=SendDlgItemMessageA(hDlg, cmb3, CB_GETCOUNT, 0, 0);
for (i=0;i<j;i++)
{
- if (lpxx->lfHeight==(int)SendDlgItemMessageA(hDlg,cmb3, CB_GETITEMDATA,i,0))
+ if (lpxx->lfHeight==-(int)SendDlgItemMessageA(hDlg,cmb3, CB_GETITEMDATA,i,0))
SendDlgItemMessageA(hDlg,cmb3,CB_SETCURSEL,i,0);
}
}
@@ -1000,6 +1001,7 @@
return TRUE;
}
}
+ break;
case chx1:
case chx2:
case cmb2: