Implement combobox to select the font's character set.

Bug fixes: handle WM_MEASUREITEM message; handle the WM_PAINT message
in the 16bit font dialog, so it displays the sample string too.
This commit is contained in:
Rein Klazes 2003-12-03 22:25:10 +00:00 committed by Alexandre Julliard
parent 4175fdb7c6
commit 6f1a7da4b4
23 changed files with 197 additions and 79 deletions

View File

@ -139,8 +139,11 @@ FONT 8, "Helv"
LTEXT "&Color:", 1091 ,6,110,30,9 LTEXT "&Color:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Exemple",1073,98,72,160,49,WS_GROUP GROUPBOX "Exemple",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -139,8 +139,11 @@ FONT 8, "Helv"
LTEXT "ÑÕÉ«(&C):", 1091 ,6,110,30,9 LTEXT "ÑÕÉ«(&C):", 1091 ,6,110,30,9
COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "示例",1073,98,72,160,49,WS_GROUP GROUPBOX "示例",grp2,98,72,120,36,WS_GROUP
CTEXT "中文字体AaBbYyZz",1093,104,81,149,37,SS_NOPREFIX | WS_VISIBLE CTEXT "中文字体AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -139,8 +139,11 @@ FONT 8, "Helv"
LTEXT "&Farve:", 1091 ,6,110,30,9 LTEXT "&Farve:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Eksempel",1073,98,72,160,49,WS_GROUP GROUPBOX "Eksempel",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -169,8 +169,11 @@ FONT 8, "Helv"
LTEXT "&Farbe:", 1091 ,6,110,30,9 LTEXT "&Farbe:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Muster",1073,98,72,160,49,WS_GROUP GROUPBOX "Muster",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -139,8 +139,11 @@ FONT 8, "Helv"
LTEXT "&Color:", stc4 ,6,110,30,9 LTEXT "&Color:", stc4 ,6,110,30,9
COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Sample",grp2,98,72,160,49,WS_GROUP GROUPBOX "Sample",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt:",stc7 ,98,114,40,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -139,8 +139,11 @@ FONT 8, "Helv"
LTEXT "&Color:", 1091 ,6,110,30,9 LTEXT "&Color:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Ejemplo",1073,98,72,160,49,WS_GROUP GROUPBOX "Ejemplo",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZzÑñ",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZzÑñ",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -139,8 +139,11 @@ FONT 8, "Helv"
LTEXT "V&äri:", 1091 ,6,110,30,9 LTEXT "V&äri:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Näyte",1073,98,72,160,49,WS_GROUP GROUPBOX "Näyte",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -142,8 +142,11 @@ FONT 8, "Helv"
LTEXT "&Couleur:", stc4 ,6,110,30,9 LTEXT "&Couleur:", stc4 ,6,110,30,9
COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Exemple",grp2,98,72,160,49,WS_GROUP GROUPBOX "Exemple",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -138,8 +138,11 @@ FONT 8, "Helv"
LTEXT "&Szín:", 1091 ,6,110,30,9 LTEXT "&Szín:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Minta",1073,98,72,160,49,WS_GROUP GROUPBOX "Minta",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZzÁáŐőÉé",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZzÁáÕõÉé",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -138,8 +138,11 @@ FONT 8, "Helv"
LTEXT "&Colore:", 1091 ,6,110,30,9 LTEXT "&Colore:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Esempio",1073,98,72,160,49,WS_GROUP GROUPBOX "Esempio",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }
CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 185 CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 185

View File

@ -139,8 +139,11 @@ FONT 8, "
LTEXT "<22>F(&C):", 1091 ,6,110,30,9 LTEXT "<22>F(&C):", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "サンプル",1073,98,72,160,49,WS_GROUP GROUPBOX "ƒTƒ“ƒvƒ",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -137,10 +137,13 @@ FONT 8, "Helv"
CHECKBOX "&Doorhalen", 1040, 10,82,50,10, BS_AUTOCHECKBOX | WS_TABSTOP CHECKBOX "&Doorhalen", 1040, 10,82,50,10, BS_AUTOCHECKBOX | WS_TABSTOP
CHECKBOX "&Onderstrepen", 1041, 10,94,50,10, BS_AUTOCHECKBOX CHECKBOX "&Onderstrepen", 1041, 10,94,50,10, BS_AUTOCHECKBOX
LTEXT "&Kleur:", 1091 ,6,110,30,9 LTEXT "&Kleur:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Voorbeeld",1073,98,72,160,49,WS_GROUP GROUPBOX "Voorbeeld",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Schr&ift:",stc7 ,98,114,40,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -136,8 +136,13 @@ WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT, 179,13,32,54
LTEXT "&Kolor:", 1091, 6,110,30,9, WS_CHILD | WS_VISIBLE | WS_GROUP LTEXT "&Kolor:", 1091, 6,110,30,9, WS_CHILD | WS_VISIBLE | WS_GROUP
CONTROL "", 1139, "COMBOBOX", CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CONTROL "", 1139, "COMBOBOX", CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 6,120,84,100 CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 6,120,84,100
CONTROL "Przyk³ad", 1073, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 98,72,160,49 /* CONTROL "Przyk³ad", 1073, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 98,72,160,49
CONTROL "AaBbYyZz\xB3", stc5, "STATIC", SS_NOPREFIX | NOT WS_VISIBLE, 104,81,149,37 CONTROL "AaBbYyZz\xB3", stc5, "STATIC", SS_NOPREFIX | NOT WS_VISIBLE, 104,81,149,37 */
GROUPBOX "Przyk³ad",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz\xB3",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
END END
/* PUSHBUTTON "&Replace", 1024, 174, 21, 50, 14, WS_GROUP | WS_TABSTOP /* PUSHBUTTON "&Replace", 1024, 174, 21, 50, 14, WS_GROUP | WS_TABSTOP
* PUSHBUTTON "Replace &All", 1025, 174, 38, 50, 14, WS_GROUP | WS_TABSTOP * PUSHBUTTON "Replace &All", 1025, 174, 38, 50, 14, WS_GROUP | WS_TABSTOP

View File

@ -140,8 +140,11 @@ FONT 8, "Helv"
LTEXT "&Cor:", 1091 ,6,110,30,9 LTEXT "&Cor:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Amostra",1073,98,72,160,49,WS_GROUP GROUPBOX "Amostra",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -139,8 +139,11 @@ FONT 8, "Ms Sans Serif"
LTEXT "Ö&âåò:", 1091 ,6,110,30,9 LTEXT "Ö&âåò:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Îáðàçåö",1073,98,72,160,49,WS_GROUP GROUPBOX "Îáðàçåö",grp2,98,72,120,36,WS_GROUP
CTEXT "ÀàÁáAaBb",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "ÀàÁáAaBb",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -139,8 +139,11 @@ FONT 8, "MS Sans Serif"
LTEXT "&Barva:", 1091 ,6,110,30,9 LTEXT "&Barva:", 1091 ,6,110,30,9
COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Vzorec",1073,98,72,160,49,WS_GROUP GROUPBOX "Vzorec",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -141,8 +141,11 @@ FONT 8, "Helv"
LTEXT "&Farba:", 1091 ,6,110,30,9 LTEXT "&Farba:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Vzorka",1073,98,72,160,49,WS_GROUP GROUPBOX "Vzorka",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }
CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 185 CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 185

View File

@ -137,8 +137,11 @@ FONT 8, "Helv"
LTEXT "&Färg:", 1091 ,6,110,30,9 LTEXT "&Färg:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Test",1073,98,72,160,49,WS_GROUP GROUPBOX "Test",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -144,8 +144,11 @@ FONT 8, "Helv"
LTEXT "&Coleur:", 1091 ,6,110,30,9 LTEXT "&Coleur:", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Egzimpe",1073,98,72,160,49,WS_GROUP GROUPBOX "Egzimpe",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZzÅåÇçÛû",stc5,104,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZzÅåÇçÛû",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -90,8 +90,11 @@ FONT 8, "Helv"
LTEXT "É«²Ê(&C):", 1091 ,6,110,30,9 LTEXT "É«²Ê(&C):", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "¹ Àý",1073,128,72,160,49,WS_GROUP GROUPBOX "¹ Àý",grp2,98,72,120,36,WS_GROUP
CTEXT "AaBbYyZz",stc5,134,81,149,37,SS_NOPREFIX | NOT WS_VISIBLE CTEXT "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
LTEXT "Scr&ipt (translate):",stc7 ,98,114,80,9
COMBOBOX cmb5,98,124,120,10,CBS_DROPDOWNLIST |CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
} }

View File

@ -417,15 +417,16 @@ INT AddFontFamily(const LOGFONTA *lplf, UINT nFontType,
if (e) e->added++; if (e) e->added++;
i=SendMessageA(hwnd, CB_ADDSTRING, 0, (LPARAM)lplf->lfFaceName); i=SendMessageA(hwnd, CB_FINDSTRINGEXACT, 0, (LPARAM)lplf->lfFaceName);
if (i!=CB_ERR) if (i == CB_ERR) {
{ i = SendMessageA(hwnd, CB_ADDSTRING, 0, (LPARAM)lplf->lfFaceName);
w=(lplf->lfCharSet << 8) | lplf->lfPitchAndFamily; if( i != CB_ERR) {
SendMessageA(hwnd, CB_SETITEMDATA, i, MAKELONG(nFontType,w)); w=(lplf->lfCharSet << 8) | lplf->lfPitchAndFamily;
return 1 ; /* store some important font information */ /* store some important font information */
SendMessageA(hwnd, CB_SETITEMDATA, i, MAKELONG(nFontType,w));
}
} }
else return 1;
return 0;
} }
/************************************************************************* /*************************************************************************
@ -526,10 +527,13 @@ static int SetFontSizesToCombo3(HWND hwnd, LPCHOOSEFONTA lpcf)
/*********************************************************************** /***********************************************************************
* AddFontStyle [internal] * AddFontStyle [internal]
*/ */
INT AddFontStyle(const LOGFONTA *lplf, UINT nFontType, INT AddFontStyle( const ENUMLOGFONTEXA *lpElfex, UINT nFontType,
LPCHOOSEFONTA lpcf, HWND hcmb2, HWND hcmb3, HWND hDlg) LPCHOOSEFONTA lpcf, HWND hcmb2, HWND hcmb3, HWND hDlg,
BOOL iswin16)
{ {
int i; int i;
const LOGFONTA *lplf = &(lpElfex->elfLogFont);
HWND hcmb5;
TRACE("(nFontType=%d)\n",nFontType); TRACE("(nFontType=%d)\n",nFontType);
TRACE(" %s h=%ld w=%ld e=%ld o=%ld wg=%ld i=%d u=%d s=%d" TRACE(" %s h=%ld w=%ld e=%ld o=%ld wg=%ld i=%d u=%d s=%d"
@ -553,9 +557,18 @@ INT AddFontStyle(const LOGFONTA *lplf, UINT nFontType,
if (i) if (i)
return 0; return 0;
} }
if( iswin16 || !( hcmb5 = GetDlgItem(hDlg, cmb5))) return 1;
i = SendMessageA( hcmb5, CB_FINDSTRINGEXACT, 0,
(LPARAM)lpElfex->elfScript);
if( i == CB_ERR) {
i = SendMessageA( hcmb5, CB_ADDSTRING, 0,
(LPARAM)lpElfex->elfScript);
if( i != CB_ERR)
SendMessageA( hcmb5, CB_SETITEMDATA, i, lplf->lfCharSet);
}
return 1 ; return 1 ;
} }
static INT CFn_FitFontSize( HWND hDlg, int points) static INT CFn_FitFontSize( HWND hDlg, int points)
{ {
int i,n; int i,n;
@ -598,18 +611,42 @@ static INT CFn_FitFontStyle( HWND hDlg, LONG packedstyle )
return ret; return ret;
} }
static INT CFn_FitCharSet( HWND hDlg, int charset )
{
int i,n,cs;
/* look for fitting har set in combobox5 */
n=SendDlgItemMessageA(hDlg, cmb5, CB_GETCOUNT, 0, 0);
for (i=0;i<n;i++)
{
cs =SendDlgItemMessageA(hDlg, cmb5, CB_GETITEMDATA, i, 0);
if (charset == cs)
{
SendDlgItemMessageA(hDlg, cmb5, CB_SETCURSEL, i, 0);
SendMessageA(hDlg, WM_COMMAND, MAKEWPARAM(cmb5, CBN_SELCHANGE),
(LPARAM)GetDlgItem(hDlg,cmb2));
return 1;
}
}
/* no charset fits: select the first one in the list */
SendDlgItemMessageA(hDlg, cmb5, CB_SETCURSEL, 0, 0);
SendMessageA(hDlg, WM_COMMAND, MAKEWPARAM(cmb5, CBN_SELCHANGE),
(LPARAM)GetDlgItem(hDlg,cmb2));
return 0;
}
/*********************************************************************** /***********************************************************************
* FontStyleEnumProc32 [internal] * FontStyleEnumProc32 [internal]
*/ */
static INT WINAPI FontStyleEnumProc( const LOGFONTA *lpFont, static INT WINAPI FontStyleEnumProc( const ENUMLOGFONTEXA *lpElfex,
const TEXTMETRICA *metrics, DWORD dwFontType, LPARAM lParam ) const TEXTMETRICA *metrics, DWORD dwFontType, LPARAM lParam )
{ {
LPCFn_ENUMSTRUCT s=(LPCFn_ENUMSTRUCT)lParam; LPCFn_ENUMSTRUCT s=(LPCFn_ENUMSTRUCT)lParam;
HWND hcmb2=s->hWnd1; HWND hcmb2=s->hWnd1;
HWND hcmb3=s->hWnd2; HWND hcmb3=s->hWnd2;
HWND hDlg=GetParent(hcmb3); HWND hDlg=GetParent(hcmb3);
return AddFontStyle(lpFont, dwFontType, s->lpcf32a, hcmb2, return AddFontStyle( lpElfex, dwFontType, s->lpcf32a,
hcmb3, hDlg); hcmb2, hcmb3, hDlg, FALSE);
} }
/*********************************************************************** /***********************************************************************
@ -701,6 +738,7 @@ LRESULT CFn_WMInitDialog(HWND hDlg, WPARAM wParam, LPARAM lParam,
if (j!=CB_ERR) if (j!=CB_ERR)
{ {
INT height = (lpcf->iPointSize + 5) / 10; INT height = (lpcf->iPointSize + 5) / 10;
int charset = lpxx->lfCharSet;
pstyle=MAKELONG(lpxx->lfWeight > FW_MEDIUM ? FW_BOLD:FW_NORMAL,lpxx->lfItalic !=0); pstyle=MAKELONG(lpxx->lfWeight > FW_MEDIUM ? FW_BOLD:FW_NORMAL,lpxx->lfItalic !=0);
SendDlgItemMessageA(hDlg, cmb1, CB_SETCURSEL, j, 0); SendDlgItemMessageA(hDlg, cmb1, CB_SETCURSEL, j, 0);
SendMessageA(hDlg, WM_COMMAND, MAKEWPARAM(cmb1, CBN_SELCHANGE), SendMessageA(hDlg, WM_COMMAND, MAKEWPARAM(cmb1, CBN_SELCHANGE),
@ -710,6 +748,7 @@ LRESULT CFn_WMInitDialog(HWND hDlg, WPARAM wParam, LPARAM lParam,
CFn_FitFontStyle(hDlg, pstyle); CFn_FitFontStyle(hDlg, pstyle);
/* look for fitting font size in combobox3 */ /* look for fitting font size in combobox3 */
CFn_FitFontSize(hDlg, height); CFn_FitFontSize(hDlg, height);
CFn_FitCharSet( hDlg, charset );
} }
} }
if (!init) if (!init)
@ -824,6 +863,7 @@ LRESULT CFn_WMDrawItem(HWND hDlg, WPARAM wParam, LPARAM lParam)
case cmb2: case cmb2:
case cmb3: case cmb3:
/* TRACE(commdlg,"WM_DRAWITEN cmb2,cmb3\n"); */ /* TRACE(commdlg,"WM_DRAWITEN cmb2,cmb3\n"); */
case cmb5:
SendMessageA(lpdi->hwndItem, CB_GETLBTEXT, lpdi->itemID, SendMessageA(lpdi->hwndItem, CB_GETLBTEXT, lpdi->itemID,
(LPARAM)buffer); (LPARAM)buffer);
TextOutA(lpdi->hDC, lpdi->rcItem.left, TextOutA(lpdi->hDC, lpdi->rcItem.left,
@ -887,30 +927,38 @@ LRESULT CFn_WMCommand(HWND hDlg, WPARAM wParam, LPARAM lParam,
{ {
INT pointsize; /* save current pointsize */ INT pointsize; /* save current pointsize */
LONG pstyle; /* save current style */ LONG pstyle; /* save current style */
int idx2, idx3; int charset;
idx3 = SendDlgItemMessageA(hDlg, cmb3, CB_GETCURSEL, 0, 0); int idx;
idx = SendDlgItemMessageA(hDlg, cmb3, CB_GETCURSEL, 0, 0);
pointsize = (int)SendDlgItemMessageA( hDlg, cmb3, CB_GETITEMDATA, pointsize = (int)SendDlgItemMessageA( hDlg, cmb3, CB_GETITEMDATA,
idx3, 0); idx, 0);
idx2 = SendDlgItemMessageA(hDlg, cmb2, CB_GETCURSEL, 0, 0); idx = SendDlgItemMessageA(hDlg, cmb2, CB_GETCURSEL, 0, 0);
pstyle = SendDlgItemMessageA(hDlg, cmb2, CB_GETITEMDATA, idx2, 0); pstyle = SendDlgItemMessageA(hDlg, cmb2, CB_GETITEMDATA, idx, 0);
idx = SendDlgItemMessageA(hDlg, cmb5, CB_GETCURSEL, 0, 0);
charset = SendDlgItemMessageA(hDlg, cmb5, CB_GETITEMDATA, idx, 0);
SendDlgItemMessageA(hDlg, cmb2, CB_RESETCONTENT, 0, 0); SendDlgItemMessageA(hDlg, cmb2, CB_RESETCONTENT, 0, 0);
SendDlgItemMessageA(hDlg, cmb3, CB_RESETCONTENT, 0, 0); SendDlgItemMessageA(hDlg, cmb3, CB_RESETCONTENT, 0, 0);
SendDlgItemMessageA(hDlg, cmb5, CB_RESETCONTENT, 0, 0);
i=SendDlgItemMessageA(hDlg, cmb1, CB_GETCURSEL, 0, 0); i=SendDlgItemMessageA(hDlg, cmb1, CB_GETCURSEL, 0, 0);
if (i!=CB_ERR) if (i!=CB_ERR)
{ {
HCURSOR hcursor=SetCursor(LoadCursorA(0,(LPSTR)IDC_WAIT)); HCURSOR hcursor=SetCursor(LoadCursorA(0,(LPSTR)IDC_WAIT));
CFn_ENUMSTRUCT s; CFn_ENUMSTRUCT s;
char str[256]; LOGFONTA enumlf;
SendDlgItemMessageA(hDlg, cmb1, CB_GETLBTEXT, i, SendDlgItemMessageA(hDlg, cmb1, CB_GETLBTEXT, i,
(LPARAM)str); (LPARAM)enumlf.lfFaceName);
TRACE("WM_COMMAND/cmb1 =>%s\n",str); TRACE("WM_COMMAND/cmb1 =>%s\n",enumlf.lfFaceName);
s.hWnd1=GetDlgItem(hDlg, cmb2); s.hWnd1=GetDlgItem(hDlg, cmb2);
s.hWnd2=GetDlgItem(hDlg, cmb3); s.hWnd2=GetDlgItem(hDlg, cmb3);
s.lpcf32a=lpcf; s.lpcf32a=lpcf;
EnumFontFamiliesA(hdc, str, FontStyleEnumProc, (LPARAM)&s); enumlf.lfCharSet = DEFAULT_CHARSET; /* enum all charsets */
enumlf.lfPitchAndFamily = 0;
EnumFontFamiliesExA(hdc, &enumlf,
(FONTENUMPROCA)FontStyleEnumProc, (LPARAM)&s, 0);
CFn_FitFontStyle(hDlg, pstyle); CFn_FitFontStyle(hDlg, pstyle);
CFn_FitFontSize(hDlg, pointsize); if( pointsize != CB_ERR) CFn_FitFontSize(hDlg, pointsize);
if( charset != CB_ERR) CFn_FitCharSet( hDlg, charset );
SetCursor(hcursor); SetCursor(hcursor);
} }
if (!((lpcf->Flags & CF_PRINTERFONTS) && lpcf->hDC)) if (!((lpcf->Flags & CF_PRINTERFONTS) && lpcf->hDC))
@ -927,6 +975,7 @@ LRESULT CFn_WMCommand(HWND hDlg, WPARAM wParam, LPARAM lParam,
case chx2: case chx2:
case cmb2: case cmb2:
case cmb3: case cmb3:
case cmb5:
if (HIWORD(wParam)==CBN_SELCHANGE || HIWORD(wParam)== BN_CLICKED ) if (HIWORD(wParam)==CBN_SELCHANGE || HIWORD(wParam)== BN_CLICKED )
{ {
char str[256]; char str[256];
@ -964,6 +1013,9 @@ LRESULT CFn_WMCommand(HWND hDlg, WPARAM wParam, LPARAM lParam,
lpxx->lfHeight=-LOWORD(SendDlgItemMessageA(hDlg, cmb3, CB_GETITEMDATA, i, 0)); lpxx->lfHeight=-LOWORD(SendDlgItemMessageA(hDlg, cmb3, CB_GETITEMDATA, i, 0));
else else
lpxx->lfHeight=0; lpxx->lfHeight=0;
i=SendDlgItemMessageA(hDlg, cmb5, CB_GETCURSEL, 0, 0);
if (i!=CB_ERR)
lpxx->lfCharSet=SendDlgItemMessageA(hDlg, cmb5, CB_GETITEMDATA, i, 0);
lpxx->lfStrikeOut=IsDlgButtonChecked(hDlg,chx1); lpxx->lfStrikeOut=IsDlgButtonChecked(hDlg,chx1);
lpxx->lfUnderline=IsDlgButtonChecked(hDlg,chx2); lpxx->lfUnderline=IsDlgButtonChecked(hDlg,chx2);
lpxx->lfWidth=lpxx->lfOrientation=lpxx->lfEscapement=0; lpxx->lfWidth=lpxx->lfOrientation=lpxx->lfEscapement=0;
@ -1033,7 +1085,7 @@ LRESULT CFn_WMDestroy(HWND hwnd, WPARAM wParam, LPARAM lParam)
return TRUE; return TRUE;
} }
static LRESULT CFn_WMPaint(HWND hDlg, WPARAM wParam, LPARAM lParam, LRESULT CFn_WMPaint(HWND hDlg, WPARAM wParam, LPARAM lParam,
LPCHOOSEFONTA lpcf ) LPCHOOSEFONTA lpcf )
{ {
WINDOWINFO info; WINDOWINFO info;
@ -1094,7 +1146,7 @@ INT_PTR CALLBACK FormatCharDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam,
if (uMsg!=WM_INITDIALOG) if (uMsg!=WM_INITDIALOG)
{ {
lpcf=(LPCHOOSEFONTA)GetWindowLongA(hDlg, DWL_USER); lpcf=(LPCHOOSEFONTA)GetWindowLongA(hDlg, DWL_USER);
if (!lpcf) if (!lpcf && uMsg != WM_MEASUREITEM)
return FALSE; return FALSE;
if (CFn_HookCallChk32(lpcf)) if (CFn_HookCallChk32(lpcf))
res=CallWindowProcA((WNDPROC)lpcf->lpfnHook, hDlg, uMsg, wParam, lParam); res=CallWindowProcA((WNDPROC)lpcf->lpfnHook, hDlg, uMsg, wParam, lParam);

View File

@ -45,8 +45,9 @@ typedef struct
INT AddFontFamily(const LOGFONTA *lplf, UINT nFontType, LPCHOOSEFONTA lpcf, INT AddFontFamily(const LOGFONTA *lplf, UINT nFontType, LPCHOOSEFONTA lpcf,
HWND hwnd, LPCFn_ENUMSTRUCT e); HWND hwnd, LPCFn_ENUMSTRUCT e);
INT AddFontStyle(const LOGFONTA *lplf, UINT nFontType, LPCHOOSEFONTA lpcf, INT AddFontStyle(const ENUMLOGFONTEXA *lpElfex, UINT nFontType,
HWND hcmb2, HWND hcmb3, HWND hDlg); LPCHOOSEFONTA lpcf, HWND hcmb2,
HWND hcmb3, HWND hDlg, BOOL iswin16);
void _dump_cf_flags(DWORD cflags); void _dump_cf_flags(DWORD cflags);
LRESULT CFn_WMInitDialog(HWND hDlg, WPARAM wParam, LPARAM lParam, LRESULT CFn_WMInitDialog(HWND hDlg, WPARAM wParam, LPARAM lParam,
@ -55,6 +56,8 @@ LRESULT CFn_WMMeasureItem(HWND hDlg, WPARAM wParam, LPARAM lParam);
LRESULT CFn_WMDrawItem(HWND hDlg, WPARAM wParam, LPARAM lParam); LRESULT CFn_WMDrawItem(HWND hDlg, WPARAM wParam, LPARAM lParam);
LRESULT CFn_WMCommand(HWND hDlg, WPARAM wParam, LPARAM lParam, LRESULT CFn_WMCommand(HWND hDlg, WPARAM wParam, LPARAM lParam,
LPCHOOSEFONTA lpcf); LPCHOOSEFONTA lpcf);
LRESULT CFn_WMPaint(HWND hDlg, WPARAM wParam, LPARAM lParam,
LPCHOOSEFONTA lpcf);
LRESULT CFn_WMDestroy(HWND hwnd, WPARAM wParam, LPARAM lParam); LRESULT CFn_WMDestroy(HWND hwnd, WPARAM wParam, LPARAM lParam);
#endif /* _WINE_FONTDLG_H */ #endif /* _WINE_FONTDLG_H */

View File

@ -117,10 +117,10 @@ INT16 WINAPI FontStyleEnumProc16( SEGPTR logfont, SEGPTR metrics,
HWND hDlg=GetParent(hcmb3); HWND hDlg=GetParent(hcmb3);
LPCHOOSEFONT16 lpcf=(LPCHOOSEFONT16)GetWindowLongA(hDlg, DWL_USER); LPCHOOSEFONT16 lpcf=(LPCHOOSEFONT16)GetWindowLongA(hDlg, DWL_USER);
LOGFONT16 *lplf = MapSL(logfont); LOGFONT16 *lplf = MapSL(logfont);
LOGFONTA lf32a; ENUMLOGFONTEXA elf32a;
FONT_LogFont16To32A(lplf, &lf32a); FONT_LogFont16To32A(lplf, &(elf32a.elfLogFont));
return AddFontStyle(&lf32a, nFontType, (LPCHOOSEFONTA)lpcf->lpTemplateName, return AddFontStyle(&elf32a, nFontType, (LPCHOOSEFONTA)lpcf->lpTemplateName,
hcmb2, hcmb3, hDlg); hcmb2, hcmb3, hDlg, TRUE);
} }
/*********************************************************************** /***********************************************************************
@ -257,12 +257,11 @@ BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message,
{ {
HWND hDlg = HWND_32(hDlg16); HWND hDlg = HWND_32(hDlg16);
LPCHOOSEFONT16 lpcf; LPCHOOSEFONT16 lpcf;
LPCHOOSEFONTA lpcf32a;
BOOL16 res=0; BOOL16 res=0;
if (message!=WM_INITDIALOG) if (message!=WM_INITDIALOG)
{ {
lpcf=(LPCHOOSEFONT16)GetWindowLongA(hDlg, DWL_USER); lpcf=(LPCHOOSEFONT16)GetWindowLongA(hDlg, DWL_USER);
if (!lpcf) if (!lpcf && message != WM_MEASUREITEM)
return FALSE; return FALSE;
if (CFn_HookCallChk(lpcf)) if (CFn_HookCallChk(lpcf))
res=CallWindowProc16((WNDPROC16)lpcf->lpfnHook,hDlg16,message,wParam,lParam); res=CallWindowProc16((WNDPROC16)lpcf->lpfnHook,hDlg16,message,wParam,lParam);
@ -272,8 +271,7 @@ BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message,
else else
{ {
lpcf=(LPCHOOSEFONT16)lParam; lpcf=(LPCHOOSEFONT16)lParam;
lpcf32a=(LPCHOOSEFONTA)lpcf->lpTemplateName; if (!CFn_WMInitDialog(hDlg, wParam, lParam, (LPCHOOSEFONTA)lpcf->lpTemplateName))
if (!CFn_WMInitDialog(hDlg, wParam, lParam, lpcf32a))
{ {
TRACE("CFn_WMInitDialog returned FALSE\n"); TRACE("CFn_WMInitDialog returned FALSE\n");
return FALSE; return FALSE;
@ -281,7 +279,6 @@ BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message,
if (CFn_HookCallChk(lpcf)) if (CFn_HookCallChk(lpcf))
return CallWindowProc16((WNDPROC16)lpcf->lpfnHook,hDlg16,WM_INITDIALOG,wParam,lParam); return CallWindowProc16((WNDPROC16)lpcf->lpfnHook,hDlg16,WM_INITDIALOG,wParam,lParam);
} }
lpcf32a=(LPCHOOSEFONTA)lpcf->lpTemplateName;
switch (message) switch (message)
{ {
case WM_MEASUREITEM: case WM_MEASUREITEM:
@ -316,7 +313,8 @@ BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message,
} }
break; break;
case WM_COMMAND: case WM_COMMAND:
res=CFn_WMCommand(hDlg, MAKEWPARAM( wParam, HIWORD(lParam) ), LOWORD(lParam), lpcf32a); res=CFn_WMCommand(hDlg, MAKEWPARAM( wParam, HIWORD(lParam) ), LOWORD(lParam),
(LPCHOOSEFONTA)lpcf->lpTemplateName);
break; break;
case WM_DESTROY: case WM_DESTROY:
res=CFn_WMDestroy(hDlg, wParam, lParam); res=CFn_WMDestroy(hDlg, wParam, lParam);
@ -325,6 +323,9 @@ BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message,
TRACE("WM_CHOOSEFONT_GETLOGFONT lParam=%08lX\n", lParam); TRACE("WM_CHOOSEFONT_GETLOGFONT lParam=%08lX\n", lParam);
FIXME("current logfont back to caller\n"); FIXME("current logfont back to caller\n");
break; break;
case WM_PAINT:
res= CFn_WMPaint(hDlg, wParam, lParam, (LPCHOOSEFONTA)lpcf->lpTemplateName);
break;
} }
return res; return res;
} }