diff --git a/dlls/commdlg/cdlg_Ca.rc b/dlls/commdlg/cdlg_Ca.rc index 9e44a2fe2c8..caa31047fb9 100644 --- a/dlls/commdlg/cdlg_Ca.rc +++ b/dlls/commdlg/cdlg_Ca.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Color" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Cs.rc b/dlls/commdlg/cdlg_Cs.rc index aa0586d4536..69bc8f64d72 100644 --- a/dlls/commdlg/cdlg_Cs.rc +++ b/dlls/commdlg/cdlg_Cs.rc @@ -106,7 +106,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Barvy" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Da.rc b/dlls/commdlg/cdlg_Da.rc index 05179af6764..0e89742fcc0 100644 --- a/dlls/commdlg/cdlg_Da.rc +++ b/dlls/commdlg/cdlg_Da.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Farve" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_De.rc b/dlls/commdlg/cdlg_De.rc index aa1f374f291..4a8d7e04079 100644 --- a/dlls/commdlg/cdlg_De.rc +++ b/dlls/commdlg/cdlg_De.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Farbe" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_En.rc b/dlls/commdlg/cdlg_En.rc index b5443ff4b9a..8bca5cb2f1c 100644 --- a/dlls/commdlg/cdlg_En.rc +++ b/dlls/commdlg/cdlg_En.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Color" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Eo.rc b/dlls/commdlg/cdlg_Eo.rc index 5dcd95c8c13..4d9001fd6db 100644 --- a/dlls/commdlg/cdlg_Eo.rc +++ b/dlls/commdlg/cdlg_Eo.rc @@ -106,7 +106,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Koloro" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Es.rc b/dlls/commdlg/cdlg_Es.rc index 9390c64d097..574912ef8c1 100644 --- a/dlls/commdlg/cdlg_Es.rc +++ b/dlls/commdlg/cdlg_Es.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Color" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Fi.rc b/dlls/commdlg/cdlg_Fi.rc index b7c92183953..5506d5e3c54 100644 --- a/dlls/commdlg/cdlg_Fi.rc +++ b/dlls/commdlg/cdlg_Fi.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Väri" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Fr.rc b/dlls/commdlg/cdlg_Fr.rc index 12220395eb2..313f1eb0327 100644 --- a/dlls/commdlg/cdlg_Fr.rc +++ b/dlls/commdlg/cdlg_Fr.rc @@ -121,7 +121,7 @@ FONT 8, "Helv" } CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Couleurs" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Hu.rc b/dlls/commdlg/cdlg_Hu.rc index c61894da806..e2511d6c90c 100644 --- a/dlls/commdlg/cdlg_Hu.rc +++ b/dlls/commdlg/cdlg_Hu.rc @@ -122,7 +122,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Szín" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_It.rc b/dlls/commdlg/cdlg_It.rc index 74265f4578d..c99884d4bac 100644 --- a/dlls/commdlg/cdlg_It.rc +++ b/dlls/commdlg/cdlg_It.rc @@ -121,7 +121,7 @@ FONT 8, "Helv" } CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Colore" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Ja.rc b/dlls/commdlg/cdlg_Ja.rc index 746921106b5..145854d932f 100644 --- a/dlls/commdlg/cdlg_Ja.rc +++ b/dlls/commdlg/cdlg_Ja.rc @@ -123,7 +123,7 @@ FONT 8, "System" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "F‚̐ݒč" FONT 8, "System" { diff --git a/dlls/commdlg/cdlg_Ko.rc b/dlls/commdlg/cdlg_Ko.rc index 70edd24e59b..62b47ecf164 100644 --- a/dlls/commdlg/cdlg_Ko.rc +++ b/dlls/commdlg/cdlg_Ko.rc @@ -106,7 +106,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "ťö" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Nl.rc b/dlls/commdlg/cdlg_Nl.rc index bfd03d886c7..9beed7ba947 100644 --- a/dlls/commdlg/cdlg_Nl.rc +++ b/dlls/commdlg/cdlg_Nl.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Kleur" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_No.rc b/dlls/commdlg/cdlg_No.rc index b1d2011f853..ed2c4573d06 100644 --- a/dlls/commdlg/cdlg_No.rc +++ b/dlls/commdlg/cdlg_No.rc @@ -106,7 +106,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Farge" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Pl.rc b/dlls/commdlg/cdlg_Pl.rc index 060772942a3..2aca9777119 100644 --- a/dlls/commdlg/cdlg_Pl.rc +++ b/dlls/commdlg/cdlg_Pl.rc @@ -158,7 +158,7 @@ BEGIN END CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Color" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Pt.rc b/dlls/commdlg/cdlg_Pt.rc index 520b37b18de..64785891bae 100644 --- a/dlls/commdlg/cdlg_Pt.rc +++ b/dlls/commdlg/cdlg_Pt.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Cor" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Ru.rc b/dlls/commdlg/cdlg_Ru.rc index f639984ad78..a3b35ec3897 100644 --- a/dlls/commdlg/cdlg_Ru.rc +++ b/dlls/commdlg/cdlg_Ru.rc @@ -123,7 +123,7 @@ FONT 8, "Ms Sans Serif" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Čçěĺíĺíčĺ ďŕëčňđű" FONT 8, "Ms Sans Serif" { diff --git a/dlls/commdlg/cdlg_Sk.rc b/dlls/commdlg/cdlg_Sk.rc index b43d4e9d49c..8e55f8a285f 100644 --- a/dlls/commdlg/cdlg_Sk.rc +++ b/dlls/commdlg/cdlg_Sk.rc @@ -1,163 +1,163 @@ -LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT - -OPEN_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Otvorenie súboru" -FONT 8, "Helv" -{ - LTEXT "&Meno súboru:", 1090, 6, 6, 76, 9 - EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Adresáre:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Typ zobrazených súborov:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "&Diskové jednotky:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Otvori", IDOK, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zruši", IDCANCEL, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Pomoc", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Len na čítanie", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Ulož pod menom..." -FONT 8, "Helv" -{ - LTEXT "&Meno súboru:", 1090, 6, 6, 76, 9 - EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Adresáre:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Typ zobrazených súborov:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "&Diskové jednotky:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Ulož pod menom", IDOK, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zruši", IDCANCEL, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Pomoc", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Len na čítanie", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -PRINT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Tlač" -FONT 8, "Helv" -{ - LTEXT "Tlačiareň:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - GROUPBOX "Rozsah tlače", 1072, 6, 30, 160, 65, BS_GROUPBOX - RADIOBUTTON "Vytlač &všetko", 1056, 16, 45, 60, 12 - RADIOBUTTON "Vytlač vý&ber", 1057, 16, 60, 60, 12 - RADIOBUTTON "Vytlač &zadané strany", 1058, 16, 75, 60, 12 - DEFPUSHBUTTON "Tlač", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zruši", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Nastavi...", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - LTEXT "&Od:", 1090, 60, 80, 30, 9 - LTEXT "&Po:", 1091, 120, 80, 30, 9 - LTEXT "&Kvalita tlače:", 1092, 6, 100, 76, 9 - COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - CHECKBOX "Tlač do &súboru", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Kondenzované", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -PRINT_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Nastavenie spôsobu tlače" -FONT 8, "Helv" -{ - GROUPBOX "Tlačiareň", 1072, 6, 10, 180, 65, BS_GROUPBOX - RADIOBUTTON "&Predvolená tlačiareň", 1056, 16, 20, 80, 12 - LTEXT "[none]", 1088, 35, 35, 120, 9 - RADIOBUTTON "Špecifická &tlačiareň", 1057, 16, 50, 80, 12 - COMBOBOX 1136, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Ok", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zruši", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Ďa&lšie vožby...", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - GROUPBOX "Orientácia", 1073, 6, 85, 100, 50, BS_GROUPBOX - RADIOBUTTON "Na &výšku", 1058, 50, 100, 40, 12 - RADIOBUTTON "Na ší&rku", 1059, 50, 115, 40, 12 - ICON "LANDSCAP", 1097, 10, 95, 32, 32 - ICON "PORTRAIT", 1098, 10, 95, 32, 32 - GROUPBOX "Papier", 1074, 120, 85, 180, 50, BS_GROUPBOX - LTEXT "&Formát", 1089, 130, 95, 30, 9 - LTEXT "&Odkiaž", 1090, 130, 110, 30, 9 - COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP -} - - -CHOOSE_FONT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Písmo" -FONT 8, "Helv" -{ - LTEXT "Písmo:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - DEFPUSHBUTTON "Ok", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zruši", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP -} - - -CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Farby" -FONT 8, "Helv" -{ - LTEXT "&Základné farby:", 1088, 6, 6, 40, 9 - LTEXT "&Farby na zakázku:", 1089, 6, 126, 40, 9 - LTEXT "Farba|Spoj&itá", 1090, 100, 146, 40, 9 - LTEXT "&Odtieň:", 1091, 150, 126, 40, 9 - LTEXT "&Sýtos:", 1092, 150, 146, 40, 9 - LTEXT "&Jas:", 1093, 150, 166, 40, 9 - LTEXT "Če&rvená:", 1094, 150, 126, 40, 9 - LTEXT "&Zelená:", 1095, 150, 146, 40, 9 - LTEXT "&Modrá:", 1096, 150, 166, 40, 9 - DEFPUSHBUTTON "Ok", IDOK, 6, 182, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Prida farbu", 1024, 120, 182, 100, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Vyradi farbu", 1025, 6, 164, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zruši", IDCANCEL, 76, 182, 56, 14, WS_GROUP | WS_TABSTOP -} - - -FINDDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 236, 62 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Hžadanie" -FONT 8, "Helv" -{ - LTEXT "&Nájs:", -1, 4, 8, 42, 8 - EDITTEXT 1152, 47, 7, 128, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - CHECKBOX "Len &celé slová", 1040, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "&Rozlišova malé a vežké písmená", 1041, 4, 42, 64, 12, BS_AUTOCHECKBOX | WS_TABSTOP - GROUPBOX "Smer", 1072, 107, 26, 68, 28 - CONTROL "H&ore", 1056, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 111, 38, 20, 12 - CONTROL "&Dole", 1057, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 138, 38, 30, 12 - DEFPUSHBUTTON "Nájs ď&alšie", IDOK, 182, 5, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zavrie", IDCANCEL, 182, 23, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Pomoc", 1038, 182, 45, 50, 14, WS_GROUP | WS_TABSTOP -} - - -REPLACEDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 230, 94 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Zámena" -FONT 8, "Helv" -{ - LTEXT "&Nájs:", -1, 4, 9, 48, 8 - EDITTEXT 1152, 54, 7, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "&Zameni za:", -1, 4, 26, 48, 8 - EDITTEXT 1153, 54, 24, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP - CHECKBOX "Len &celé slová", 1040, 5, 46, 104, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "&Rozlišova malá a vežké písmená", 1041, 5, 62, 59, 12, BS_AUTOCHECKBOX | WS_TABSTOP - DEFPUSHBUTTON "Nájs ď&alšie", 1, 174, 4, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Za&meni", 1024, 174, 21, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zameni vo vý&bere", 1025, 174, 38, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Zavrie", 2, 174, 55, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Pomoc", 1038, 174, 75, 50, 14, WS_GROUP | WS_TABSTOP -} +LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT + +OPEN_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Otvorenie súboru" +FONT 8, "Helv" +{ + LTEXT "&Meno súboru:", 1090, 6, 6, 76, 9 + EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Adresáre:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Typ zobrazených súborov:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "&Diskové jednotky:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Otvori", IDOK, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zruši", IDCANCEL, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Pomoc", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Len na čítanie", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ulož pod menom..." +FONT 8, "Helv" +{ + LTEXT "&Meno súboru:", 1090, 6, 6, 76, 9 + EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Adresáre:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Typ zobrazených súborov:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "&Diskové jednotky:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Ulož pod menom", IDOK, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zruši", IDCANCEL, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Pomoc", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Len na čítanie", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +PRINT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Tlač" +FONT 8, "Helv" +{ + LTEXT "Tlačiareň:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + GROUPBOX "Rozsah tlače", 1072, 6, 30, 160, 65, BS_GROUPBOX + RADIOBUTTON "Vytlač &všetko", 1056, 16, 45, 60, 12 + RADIOBUTTON "Vytlač vý&ber", 1057, 16, 60, 60, 12 + RADIOBUTTON "Vytlač &zadané strany", 1058, 16, 75, 60, 12 + DEFPUSHBUTTON "Tlač", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zruši", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Nastavi...", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + LTEXT "&Od:", 1090, 60, 80, 30, 9 + LTEXT "&Po:", 1091, 120, 80, 30, 9 + LTEXT "&Kvalita tlače:", 1092, 6, 100, 76, 9 + COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + CHECKBOX "Tlač do &súboru", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Kondenzované", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +PRINT_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Nastavenie spôsobu tlače" +FONT 8, "Helv" +{ + GROUPBOX "Tlačiareň", 1072, 6, 10, 180, 65, BS_GROUPBOX + RADIOBUTTON "&Predvolená tlačiareň", 1056, 16, 20, 80, 12 + LTEXT "[none]", 1088, 35, 35, 120, 9 + RADIOBUTTON "Špecifická &tlačiareň", 1057, 16, 50, 80, 12 + COMBOBOX 1136, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Ok", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zruši", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Ďa&lšie vožby...", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + GROUPBOX "Orientácia", 1073, 6, 85, 100, 50, BS_GROUPBOX + RADIOBUTTON "Na &výšku", 1058, 50, 100, 40, 12 + RADIOBUTTON "Na ší&rku", 1059, 50, 115, 40, 12 + ICON "LANDSCAP", 1097, 10, 95, 32, 32 + ICON "PORTRAIT", 1098, 10, 95, 32, 32 + GROUPBOX "Papier", 1074, 120, 85, 180, 50, BS_GROUPBOX + LTEXT "&Formát", 1089, 130, 95, 30, 9 + LTEXT "&Odkiaž", 1090, 130, 110, 30, 9 + COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP +} + + +CHOOSE_FONT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Písmo" +FONT 8, "Helv" +{ + LTEXT "Písmo:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + DEFPUSHBUTTON "Ok", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zruši", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP +} + + +CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Farby" +FONT 8, "Helv" +{ + LTEXT "&Základné farby:", 1088, 6, 6, 40, 9 + LTEXT "&Farby na zakázku:", 1089, 6, 126, 40, 9 + LTEXT "Farba|Spoj&itá", 1090, 100, 146, 40, 9 + LTEXT "&Odtieň:", 1091, 150, 126, 40, 9 + LTEXT "&Sýtos:", 1092, 150, 146, 40, 9 + LTEXT "&Jas:", 1093, 150, 166, 40, 9 + LTEXT "Če&rvená:", 1094, 150, 126, 40, 9 + LTEXT "&Zelená:", 1095, 150, 146, 40, 9 + LTEXT "&Modrá:", 1096, 150, 166, 40, 9 + DEFPUSHBUTTON "Ok", IDOK, 6, 182, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Prida farbu", 1024, 120, 182, 100, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Vyradi farbu", 1025, 6, 164, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zruši", IDCANCEL, 76, 182, 56, 14, WS_GROUP | WS_TABSTOP +} + + +FINDDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 236, 62 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Hžadanie" +FONT 8, "Helv" +{ + LTEXT "&Nájs:", -1, 4, 8, 42, 8 + EDITTEXT 1152, 47, 7, 128, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP + CHECKBOX "Len &celé slová", 1040, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "&Rozlišova malé a vežké písmená", 1041, 4, 42, 64, 12, BS_AUTOCHECKBOX | WS_TABSTOP + GROUPBOX "Smer", 1072, 107, 26, 68, 28 + CONTROL "H&ore", 1056, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 111, 38, 20, 12 + CONTROL "&Dole", 1057, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 138, 38, 30, 12 + DEFPUSHBUTTON "Nájs ď&alšie", IDOK, 182, 5, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zavrie", IDCANCEL, 182, 23, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Pomoc", 1038, 182, 45, 50, 14, WS_GROUP | WS_TABSTOP +} + + +REPLACEDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 230, 94 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Zámena" +FONT 8, "Helv" +{ + LTEXT "&Nájs:", -1, 4, 9, 48, 8 + EDITTEXT 1152, 54, 7, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP + LTEXT "&Zameni za:", -1, 4, 26, 48, 8 + EDITTEXT 1153, 54, 24, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP + CHECKBOX "Len &celé slová", 1040, 5, 46, 104, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "&Rozlišova malá a vežké písmená", 1041, 5, 62, 59, 12, BS_AUTOCHECKBOX | WS_TABSTOP + DEFPUSHBUTTON "Nájs ď&alšie", 1, 174, 4, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Za&meni", 1024, 174, 21, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zameni vo vý&bere", 1025, 174, 38, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zavrie", 2, 174, 55, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Pomoc", 1038, 174, 75, 50, 14, WS_GROUP | WS_TABSTOP +} diff --git a/dlls/commdlg/cdlg_Sv.rc b/dlls/commdlg/cdlg_Sv.rc index e41b3ccfcc4..028a0fb27b4 100644 --- a/dlls/commdlg/cdlg_Sv.rc +++ b/dlls/commdlg/cdlg_Sv.rc @@ -123,7 +123,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Färg" FONT 8, "Helv" { diff --git a/dlls/commdlg/cdlg_Wa.rc b/dlls/commdlg/cdlg_Wa.rc index 8880841fe60..b4d8f53cfea 100644 --- a/dlls/commdlg/cdlg_Wa.rc +++ b/dlls/commdlg/cdlg_Wa.rc @@ -128,7 +128,7 @@ FONT 8, "Helv" CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE WS_CLIPCHILDREN | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Coleurs" FONT 8, "Helv" { diff --git a/dlls/commdlg/colordlg.c b/dlls/commdlg/colordlg.c index b6c1670fd48..c3dcf5b8bb3 100644 --- a/dlls/commdlg/colordlg.c +++ b/dlls/commdlg/colordlg.c @@ -1,5 +1,7 @@ +/* TODO : WS_CLIPCHILDREN in cdlg*.h + fix CHOOSECOLORW (lpCustColor) */ /* - * COMMDLG - File Dialog + * COMMDLG - Color Dialog * * Copyright 1994 Martin Ayotte * Copyright 1996 Albrecht Kleine @@ -28,95 +30,11 @@ DEFAULT_DEBUG_CHANNEL(commdlg); #include "cdlg.h" -/*********************************************************************** - * ColorDlgProc [internal] - * - * FIXME: Convert to real 32-bit message processing - */ -static LRESULT WINAPI ColorDlgProc(HWND hDlg, UINT msg, - WPARAM wParam, LPARAM lParam) -{ - UINT16 msg16; - MSGPARAM16 mp16; - - mp16.lParam = lParam; - if (WINPROC_MapMsg32ATo16( hDlg, msg, wParam, - &msg16, &mp16.wParam, &mp16.lParam ) == -1) - return 0; - mp16.lResult = ColorDlgProc16( (HWND16)hDlg, msg16, mp16.wParam, mp16.lParam ); - - WINPROC_UnmapMsg32ATo16( hDlg, msg, wParam, lParam, &mp16 ); - return mp16.lResult; -} - -/*********************************************************************** - * ChooseColor (COMMDLG.5) - */ -BOOL16 WINAPI ChooseColor16(LPCHOOSECOLOR16 lpChCol) -{ - HINSTANCE16 hInst; - HANDLE16 hDlgTmpl = 0; - BOOL16 bRet = FALSE, win32Format = FALSE; - LPCVOID template; - HWND hwndDialog; - - TRACE("ChooseColor\n"); - if (!lpChCol) return FALSE; - - if (lpChCol->Flags & CC_ENABLETEMPLATEHANDLE) - { - if (!(template = LockResource16( lpChCol->hInstance ))) - { - COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); - return FALSE; - } - } - else if (lpChCol->Flags & CC_ENABLETEMPLATE) - { - HANDLE16 hResInfo; - if (!(hResInfo = FindResource16(lpChCol->hInstance, - lpChCol->lpTemplateName, - RT_DIALOG16))) - { - COMDLG32_SetCommDlgExtendedError(CDERR_FINDRESFAILURE); - return FALSE; - } - if (!(hDlgTmpl = LoadResource16( lpChCol->hInstance, hResInfo )) || - !(template = LockResource16( hDlgTmpl ))) - { - COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); - return FALSE; - } - } - else - { - HANDLE hResInfo, hDlgTmpl; - if (!(hResInfo = FindResourceA(COMMDLG_hInstance32, "CHOOSE_COLOR", RT_DIALOGA))) - { - COMDLG32_SetCommDlgExtendedError(CDERR_FINDRESFAILURE); - return FALSE; - } - if (!(hDlgTmpl = LoadResource(COMMDLG_hInstance32, hResInfo )) || - !(template = LockResource( hDlgTmpl ))) - { - COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); - return FALSE; - } - win32Format = TRUE; - } - - hInst = GetWindowLongA( lpChCol->hwndOwner, GWL_HINSTANCE ); - hwndDialog = DIALOG_CreateIndirect( hInst, template, win32Format, - lpChCol->hwndOwner, - (DLGPROC16)ColorDlgProc, - (DWORD)lpChCol, WIN_PROC_32A ); - if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpChCol->hwndOwner); - if (hDlgTmpl) FreeResource16( hDlgTmpl ); - - return bRet; -} - +static LRESULT WINAPI ColorDlgProc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam ); +#define CONV_POINTSTOPOINT( ps, p ) \ + ((p)->x = (LONG)(ps)->x, (p)->y = (LONG)(ps)->y) + static const COLORREF predefcolors[6][8]= { { 0x008080FFL, 0x0080FFFFL, 0x0080FF80L, 0x0080FF00L, @@ -137,126 +55,128 @@ static const COLORREF predefcolors[6][8]= struct CCPRIVATE { - LPCHOOSECOLOR16 lpcc; /* points to public known data structure */ + LPCHOOSECOLORW lpcc; /* points to public known data structure */ + LPCHOOSECOLOR16 lpcc16; /* save the 16 bits pointer */ int nextuserdef; /* next free place in user defined color array */ - HDC16 hdcMem; /* color graph used for BitBlt() */ - HBITMAP16 hbmMem; /* color graph bitmap */ - RECT16 fullsize; /* original dialog window size */ - UINT16 msetrgb; /* # of SETRGBSTRING message (today not used) */ - RECT16 old3angle; /* last position of l-marker */ - RECT16 oldcross; /* last position of color/satuation marker */ + HDC hdcMem; /* color graph used for BitBlt() */ + HBITMAP hbmMem; /* color graph bitmap */ + RECT fullsize; /* original dialog window size */ + UINT msetrgb; /* # of SETRGBSTRING message (today not used) */ + RECT old3angle; /* last position of l-marker */ + RECT oldcross; /* last position of color/satuation marker */ BOOL updating; /* to prevent recursive WM_COMMAND/EN_UPDATE procesing */ int h; int s; int l; /* for temporary storing of hue,sat,lum */ + int capturedGraph; /* control mouse captured */ }; /*********************************************************************** * CC_HSLtoRGB [internal] */ -static int CC_HSLtoRGB(char c,int hue,int sat,int lum) +static int CC_HSLtoRGB(char c, int hue, int sat, int lum) { - int res=0,maxrgb; + int res = 0, maxrgb; /* hue */ switch(c) { - case 'R':if (hue>80) hue-=80; else hue+=160; break; - case 'G':if (hue>160) hue-=160; else hue+=80; break; - case 'B':break; + case 'R': if (hue > 80) hue -= 80; else hue += 160; break; + case 'G': if (hue > 160) hue -= 160; else hue += 80; break; + case 'B': break; } /* l below 120 */ - maxrgb=(256*min(120,lum))/120; /* 0 .. 256 */ - if (hue< 80) - res=0; + maxrgb = (256 * min(120,lum)) / 120; /* 0 .. 256 */ + if (hue < 80) + res = 0; else - if (hue< 120) + if (hue < 120) { - res=(hue-80)* maxrgb; /* 0...10240 */ - res/=40; /* 0...256 */ + res = (hue - 80) * maxrgb; /* 0...10240 */ + res /= 40; /* 0...256 */ } else - if (hue< 200) - res=maxrgb; + if (hue < 200) + res = maxrgb; else { - res=(240-hue)* maxrgb; - res/=40; + res= (240 - hue) * maxrgb; + res /= 40; } - res=res-maxrgb/2; /* -128...128 */ + res = res - maxrgb / 2; /* -128...128 */ /* saturation */ - res=maxrgb/2 + (sat*res) /240; /* 0..256 */ + res = maxrgb / 2 + (sat * res) / 240; /* 0..256 */ /* lum above 120 */ - if (lum>120 && res<256) - res+=((lum-120) * (256-res))/120; + if (lum > 120 && res < 256) + res += ((lum - 120) * (256 - res)) / 120; - return min(res,255); + return min(res, 255); } /*********************************************************************** * CC_RGBtoHSL [internal] */ -static int CC_RGBtoHSL(char c,int r,int g,int b) +static int CC_RGBtoHSL(char c, int r, int g, int b) { - WORD maxi,mini,mmsum,mmdif,result=0; - int iresult=0; + WORD maxi, mini, mmsum, mmdif, result = 0; + int iresult = 0; - maxi=max(r,b); - maxi=max(maxi,g); - mini=min(r,b); - mini=min(mini,g); + maxi = max(r, b); + maxi = max(maxi, g); + mini = min(r, b); + mini = min(mini, g); - mmsum=maxi+mini; - mmdif=maxi-mini; + mmsum = maxi + mini; + mmdif = maxi - mini; switch(c) { /* lum */ - case 'L':mmsum*=120; /* 0...61200=(255+255)*120 */ - result=mmsum/255; /* 0...240 */ + case 'L': mmsum *= 120; /* 0...61200=(255+255)*120 */ + result = mmsum / 255; /* 0...240 */ break; /* saturation */ - case 'S':if (!mmsum) - result=0; + case 'S': if (!mmsum) + result = 0; else - if (!mini || maxi==255) - result=240; + if (!mini || maxi == 255) + result = 240; else { - result=mmdif*240; /* 0...61200=255*240 */ - result/= (mmsum>255 ? mmsum=510-mmsum : mmsum); /* 0..255 */ + result = mmdif * 240; /* 0...61200=255*240 */ + result /= (mmsum > 255 ? mmsum = 510 - mmsum : mmsum); /* 0..255 */ } break; /* hue */ - case 'H':if (!mmdif) - result=160; + case 'H': if (!mmdif) + result = 160; else { - if (maxi==r) + if (maxi == r) { - iresult=40*(g-b); /* -10200 ... 10200 */ - iresult/=(int)mmdif; /* -40 .. 40 */ - if (iresult<0) - iresult+=240; /* 0..40 and 200..240 */ + iresult = 40 * (g - b); /* -10200 ... 10200 */ + iresult /= (int) mmdif; /* -40 .. 40 */ + if (iresult < 0) + iresult += 240; /* 0..40 and 200..240 */ } else - if (maxi==g) + if (maxi == g) { - iresult=40*(b-r); - iresult/=(int)mmdif; - iresult+=80; /* 40 .. 120 */ + iresult = 40 * (b - r); + iresult /= (int) mmdif; + iresult += 80; /* 40 .. 120 */ } else - if (maxi==b) + if (maxi == b) { - iresult=40*(r-g); - iresult/=(int)mmdif; - iresult+=160; /* 120 .. 200 */ + iresult = 40 * (r - g); + iresult /= (int) mmdif; + iresult += 160; /* 120 .. 200 */ } - result=iresult; + result = iresult; } break; } @@ -267,29 +187,32 @@ static int CC_RGBtoHSL(char c,int r,int g,int b) /*********************************************************************** * CC_MouseCheckPredefColorArray [internal] + * returns 1 if one of the predefined colors is clicked + * the choosen color is returned in *cr */ -static int CC_MouseCheckPredefColorArray(HWND16 hDlg,int dlgitem,int rows,int cols, - LPARAM lParam,COLORREF *cr) +static int CC_MouseCheckPredefColorArray( HWND hDlg, int dlgitem, int rows, int cols, + LPARAM lParam, COLORREF *cr ) { - HWND16 hwnd; - POINT16 point = MAKEPOINT16(lParam); - RECT16 rect; - int dx,dy,x,y; + HWND hwnd; + POINT point; + RECT rect; + int dx, dy, x, y; - ClientToScreen16(hDlg,&point); - hwnd=GetDlgItem(hDlg,dlgitem); - GetWindowRect16(hwnd,&rect); - if (PtInRect16(&rect,point)) + CONV_POINTSTOPOINT(&(MAKEPOINTS(lParam)) , &point); + ClientToScreen(hDlg, &point); + hwnd = GetDlgItem(hDlg, dlgitem); + GetWindowRect(hwnd, &rect); + if (PtInRect(&rect, point)) { - dx=(rect.right-rect.left)/cols; - dy=(rect.bottom-rect.top)/rows; - ScreenToClient16(hwnd,&point); + dx = (rect.right - rect.left) / cols; + dy = (rect.bottom - rect.top) / rows; + ScreenToClient(hwnd, &point); - if (point.x % dx < (dx-DISTANCE) && point.y % dy < (dy-DISTANCE)) + if (point.x % dx < ( dx - DISTANCE) && point.y % dy < ( dy - DISTANCE)) { - x=point.x/dx; - y=point.y/dy; - *cr=predefcolors[y][x]; + x = point.x / dx; + y = point.y / dy; + *cr = predefcolors[y][x]; /* FIXME: Draw_a_Focus_Rect() */ return 1; } @@ -299,29 +222,31 @@ static int CC_MouseCheckPredefColorArray(HWND16 hDlg,int dlgitem,int rows,int co /*********************************************************************** * CC_MouseCheckUserColorArray [internal] + * return 1 if the user clicked a color (returned in *cr) */ -static int CC_MouseCheckUserColorArray(HWND16 hDlg,int dlgitem,int rows,int cols, - LPARAM lParam,COLORREF *cr,COLORREF*crarr) +static int CC_MouseCheckUserColorArray( HWND hDlg, int dlgitem, int rows, int cols, + LPARAM lParam, COLORREF *cr, COLORREF*crarr ) { - HWND16 hwnd; - POINT16 point = MAKEPOINT16(lParam); - RECT16 rect; - int dx,dy,x,y; + HWND hwnd; + POINT point; + RECT rect; + int dx, dy, x, y; - ClientToScreen16(hDlg,&point); - hwnd=GetDlgItem(hDlg,dlgitem); - GetWindowRect16(hwnd,&rect); - if (PtInRect16(&rect,point)) + CONV_POINTSTOPOINT(&(MAKEPOINTS(lParam)), &point); + ClientToScreen(hDlg, &point); + hwnd=GetDlgItem(hDlg, dlgitem); + GetWindowRect(hwnd, &rect); + if (PtInRect(&rect, point)) { - dx=(rect.right-rect.left)/cols; - dy=(rect.bottom-rect.top)/rows; - ScreenToClient16(hwnd,&point); + dx = (rect.right - rect.left) / cols; + dy = (rect.bottom - rect.top) / rows; + ScreenToClient(hwnd, &point); - if (point.x % dx < (dx-DISTANCE) && point.y % dy < (dy-DISTANCE)) + if (point.x % dx < (dx - DISTANCE) && point.y % dy < (dy - DISTANCE)) { - x=point.x/dx; - y=point.y/dy; - *cr=crarr[x+cols*y]; + x = point.x / dx; + y = point.y / dy; + *cr = crarr[x+cols*y]; /* FIXME: Draw_a_Focus_Rect() */ return 1; } @@ -342,30 +267,31 @@ static int CC_MouseCheckUserColorArray(HWND16 hDlg,int dlgitem,int rows,int cols /*********************************************************************** * CC_MouseCheckColorGraph [internal] */ -static int CC_MouseCheckColorGraph(HWND16 hDlg,int dlgitem,int *hori,int *vert,LPARAM lParam) +static int CC_MouseCheckColorGraph( HWND hDlg, int dlgitem, int *hori, int *vert, LPARAM lParam ) { HWND hwnd; - POINT16 point = MAKEPOINT16(lParam); - RECT16 rect; + POINT point; + RECT rect; long x,y; - ClientToScreen16(hDlg,&point); - hwnd=GetDlgItem(hDlg,dlgitem); - GetWindowRect16(hwnd,&rect); - if (PtInRect16(&rect,point)) + CONV_POINTSTOPOINT(&(MAKEPOINTS(lParam)), &point); + ClientToScreen(hDlg, &point); + hwnd = GetDlgItem( hDlg, dlgitem ); + GetWindowRect(hwnd, &rect); + if (PtInRect(&rect, point)) { - GetClientRect16(hwnd,&rect); - ScreenToClient16(hwnd,&point); + GetClientRect(hwnd, &rect); + ScreenToClient(hwnd, &point); - x=(long)point.x*MAXHORI; - x/=rect.right; - y=(long)(rect.bottom-point.y)*MAXVERT; - y/=rect.bottom; + x = (long) point.x * MAXHORI; + x /= rect.right; + y = (long) (rect.bottom - point.y) * MAXVERT; + y /= rect.bottom; if (hori) - *hori=x; + *hori = x; if (vert) - *vert=y; + *vert = y; return 1; } else @@ -373,19 +299,21 @@ static int CC_MouseCheckColorGraph(HWND16 hDlg,int dlgitem,int *hori,int *vert,L } /*********************************************************************** * CC_MouseCheckResultWindow [internal] + * test if double click one of the result colors */ -static int CC_MouseCheckResultWindow(HWND16 hDlg,LPARAM lParam) +static int CC_MouseCheckResultWindow( HWND hDlg, LPARAM lParam ) { - HWND16 hwnd; - POINT16 point = MAKEPOINT16(lParam); - RECT16 rect; + HWND hwnd; + POINT point; + RECT rect; - ClientToScreen16(hDlg,&point); - hwnd=GetDlgItem(hDlg,0x2c5); - GetWindowRect16(hwnd,&rect); - if (PtInRect16(&rect,point)) + CONV_POINTSTOPOINT(&(MAKEPOINTS(lParam)), &point); + ClientToScreen(hDlg, &point); + hwnd = GetDlgItem(hDlg, 0x2c5); + GetWindowRect(hwnd, &rect); + if (PtInRect(&rect, point)) { - PostMessage16(hDlg,WM_COMMAND,0x2c9,0); + PostMessageA(hDlg, WM_COMMAND, 0x2c9, 0); return 1; } return 0; @@ -394,38 +322,39 @@ static int CC_MouseCheckResultWindow(HWND16 hDlg,LPARAM lParam) /*********************************************************************** * CC_CheckDigitsInEdit [internal] */ -static int CC_CheckDigitsInEdit(HWND16 hwnd,int maxval) +static int CC_CheckDigitsInEdit( HWND hwnd, int maxval ) { - int i,k,m,result,value; + int i, k, m, result, value; long editpos; char buffer[30]; - GetWindowTextA(hwnd,buffer,sizeof(buffer)); - m=strlen(buffer); - result=0; - for (i=0;i'9') + GetWindowTextA(hwnd, buffer, sizeof(buffer)); + m = strlen(buffer); + result = 0; + + for (i = 0 ; i < m ; i++) + if (buffer[i] < '0' || buffer[i] > '9') { - for (k=i+1;k<=m;k++) /* delete bad character */ + for (k = i + 1; k <= m; k++) /* delete bad character */ { - buffer[i]=buffer[k]; + buffer[i] = buffer[k]; m--; } - buffer[m]=0; - result=1; + buffer[m] = 0; + result = 1; } - value=atoi(buffer); - if (value>maxval) /* build a new string */ + value = atoi(buffer); + if (value > maxval) /* build a new string */ { - sprintf(buffer,"%d",maxval); - result=2; + sprintf(buffer, "%d", maxval); + result = 2; } if (result) { - editpos=SendMessage16(hwnd,EM_GETSEL16,0,0); - SetWindowTextA(hwnd,buffer); - SendMessage16(hwnd,EM_SETSEL16,0,editpos); + editpos = SendMessageA(hwnd, EM_GETSEL, 0, 0); + SetWindowTextA(hwnd, buffer ); + SendMessageA(hwnd, EM_SETSEL, 0, editpos); } return value; } @@ -435,75 +364,73 @@ static int CC_CheckDigitsInEdit(HWND16 hwnd,int maxval) /*********************************************************************** * CC_PaintSelectedColor [internal] */ -static void CC_PaintSelectedColor(HWND16 hDlg,COLORREF cr) +static void CC_PaintSelectedColor( HWND hDlg, COLORREF cr ) { - RECT16 rect; + RECT rect; HDC hdc; HBRUSH hBrush; - HWND hwnd=GetDlgItem(hDlg,0x2c5); - if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */ + HWND hwnd = GetDlgItem(hDlg, 0x2c5); + if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6) )) /* if full size */ { - hdc=GetDC(hwnd); - GetClientRect16 (hwnd, &rect) ; + hdc = GetDC(hwnd); + GetClientRect(hwnd, &rect) ; hBrush = CreateSolidBrush(cr); if (hBrush) { - hBrush = SelectObject (hdc, hBrush) ; - Rectangle(hdc, rect.left,rect.top,rect.right/2,rect.bottom); - DeleteObject (SelectObject (hdc,hBrush)) ; - hBrush=CreateSolidBrush(GetNearestColor(hdc,cr)); + hBrush = SelectObject(hdc, hBrush) ; + Rectangle(hdc, rect.left, rect.top, rect.right/2, rect.bottom); + DeleteObject ( SelectObject(hdc, hBrush) ) ; + hBrush = CreateSolidBrush( GetNearestColor(hdc, cr) ); if (hBrush) { - hBrush= SelectObject (hdc, hBrush) ; - Rectangle( hdc, rect.right/2-1,rect.top,rect.right,rect.bottom); - DeleteObject( SelectObject (hdc, hBrush)) ; + hBrush = SelectObject(hdc, hBrush) ; + Rectangle(hdc, rect.right/2-1, rect.top, rect.right, rect.bottom); + DeleteObject(SelectObject(hdc, hBrush)) ; } } - ReleaseDC(hwnd,hdc); + ReleaseDC(hwnd, hdc); } } /*********************************************************************** * CC_PaintTriangle [internal] */ -static void CC_PaintTriangle(HWND16 hDlg,int y) +static void CC_PaintTriangle( HWND hDlg, int y) { HDC hDC; long temp; - int w=GetDialogBaseUnits(); - POINT16 points[3]; + int w = GetDialogBaseUnits(); + POINT points[3]; int height; int oben; - RECT16 rect; - HWND16 hwnd=GetDlgItem(hDlg,0x2be); - struct CCPRIVATE *lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + RECT rect; + HWND hwnd = GetDlgItem(hDlg, 0x2be); + struct CCPRIVATE *lpp = (struct CCPRIVATE *)GetWindowLongA( hDlg, DWL_USER); - if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */ + if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6))) /* if full size */ { - GetClientRect16(hwnd,&rect); - height=rect.bottom; - hDC=GetDC(hDlg); - - points[0].y=rect.top; - points[0].x=rect.right; /* | /| */ - ClientToScreen16(hwnd,points); /* | / | */ - ScreenToClient16(hDlg,points); /* |< | */ - oben=points[0].y; /* | \ | */ + GetClientRect(hwnd, &rect); + height = rect.bottom; + hDC = GetDC(hDlg); + points[0].y = rect.top; + points[0].x = rect.right; /* | /| */ + ClientToScreen(hwnd, points); /* | / | */ + ScreenToClient(hDlg, points); /* |< | */ + oben = points[0].y; /* | \ | */ /* | \| */ - temp=(long)height*(long)y; - points[0].y=oben+height -temp/(long)MAXVERT; - points[1].y=points[0].y+w; - points[2].y=points[0].y-w; - points[2].x=points[1].x=points[0].x + w; + temp = (long)height * (long)y; + points[0].y = oben + height - temp / (long)MAXVERT; + points[1].y = points[0].y + w; + points[2].y = points[0].y - w; + points[2].x = points[1].x = points[0].x + w; - if (lpp->old3angle.left) - FillRect16(hDC,&lpp->old3angle,GetStockObject(WHITE_BRUSH)); - lpp->old3angle.left =points[0].x; - lpp->old3angle.right =points[1].x+1; - lpp->old3angle.top =points[2].y-1; - lpp->old3angle.bottom=points[1].y+1; - Polygon16(hDC,points,3); - ReleaseDC(hDlg,hDC); + FillRect(hDC, &lpp->old3angle, GetClassLongA( hwnd, GCL_HBRBACKGROUND)); + lpp->old3angle.left = points[0].x; + lpp->old3angle.right = points[1].x + 1; + lpp->old3angle.top = points[2].y - 1; + lpp->old3angle.bottom= points[1].y + 1; + Polygon(hDC, points, 3); + ReleaseDC(hDlg, hDC); } } @@ -511,41 +438,41 @@ static void CC_PaintTriangle(HWND16 hDlg,int y) /*********************************************************************** * CC_PaintCross [internal] */ -static void CC_PaintCross(HWND16 hDlg,int x,int y) +static void CC_PaintCross( HWND hDlg, int x, int y) { HDC hDC; - int w=GetDialogBaseUnits(); - HWND16 hwnd=GetDlgItem(hDlg,0x2c6); - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - RECT16 rect; - POINT16 point; + int w = GetDialogBaseUnits(); + HWND hwnd = GetDlgItem(hDlg, 0x2c6); + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA( hDlg, DWL_USER ); + RECT rect; + POINT point, p; HPEN hPen; - if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */ + if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6) )) /* if full size */ { - GetClientRect16(hwnd,&rect); - hDC=GetDC(hwnd); - SelectClipRgn(hDC,CreateRectRgnIndirect16(&rect)); - hPen=CreatePen(PS_SOLID,2,0); - hPen=SelectObject(hDC,hPen); - point.x=((long)rect.right*(long)x)/(long)MAXHORI; - point.y=rect.bottom-((long)rect.bottom*(long)y)/(long)MAXVERT; - if (lpp->oldcross.left!=lpp->oldcross.right) - BitBlt(hDC,lpp->oldcross.left,lpp->oldcross.top, - lpp->oldcross.right-lpp->oldcross.left, - lpp->oldcross.bottom-lpp->oldcross.top, - lpp->hdcMem,lpp->oldcross.left,lpp->oldcross.top,SRCCOPY); - lpp->oldcross.left =point.x-w-1; - lpp->oldcross.right =point.x+w+1; - lpp->oldcross.top =point.y-w-1; - lpp->oldcross.bottom=point.y+w+1; + GetClientRect(hwnd, &rect); + hDC = GetDC(hwnd); + SelectClipRgn( hDC, CreateRectRgnIndirect(&rect)); + hPen = CreatePen(PS_SOLID, 2, 0); + hPen = SelectObject(hDC, hPen); + point.x = ((long)rect.right * (long)x) / (long)MAXHORI; + point.y = rect.bottom - ((long)rect.bottom * (long)y) / (long)MAXVERT; + if ( lpp->oldcross.left != lpp->oldcross.right ) + BitBlt(hDC, lpp->oldcross.left, lpp->oldcross.top, + lpp->oldcross.right - lpp->oldcross.left, + lpp->oldcross.bottom - lpp->oldcross.top, + lpp->hdcMem, lpp->oldcross.left, lpp->oldcross.top, SRCCOPY); + lpp->oldcross.left = point.x - w - 1; + lpp->oldcross.right = point.x + w + 1; + lpp->oldcross.top = point.y - w - 1; + lpp->oldcross.bottom = point.y + w + 1; - MoveTo16(hDC,point.x-w,point.y); - LineTo(hDC,point.x+w,point.y); - MoveTo16(hDC,point.x,point.y-w); - LineTo(hDC,point.x,point.y+w); - DeleteObject(SelectObject(hDC,hPen)); - ReleaseDC(hwnd,hDC); + MoveToEx(hDC, point.x - w, point.y, &p); + LineTo(hDC, point.x + w, point.y); + MoveToEx(hDC, point.x, point.y - w, &p); + LineTo(hDC, point.x, point.y + w); + DeleteObject( SelectObject(hDC, hPen)) ; + ReleaseDC(hwnd, hDC); } } @@ -557,257 +484,263 @@ static void CC_PaintCross(HWND16 hDlg,int x,int y) /*********************************************************************** * CC_PrepareColorGraph [internal] */ -static void CC_PrepareColorGraph(HWND16 hDlg) +static void CC_PrepareColorGraph( HWND hDlg ) { - int sdif,hdif,xdif,ydif,r,g,b,hue,sat; - HWND hwnd=GetDlgItem(hDlg,0x2c6); - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + int sdif, hdif, xdif, ydif, r, g, b, hue, sat; + HWND hwnd = GetDlgItem(hDlg, 0x2c6); + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); HBRUSH hbrush; HDC hdc ; - RECT16 rect,client; - HCURSOR16 hcursor=SetCursor16(LoadCursor16(0,IDC_WAIT16)); + RECT rect, client; + HCURSOR hcursor = SetCursor( LoadCursorA(0, IDC_WAITA) ); - GetClientRect16(hwnd,&client); - hdc=GetDC(hwnd); + GetClientRect(hwnd, &client); + hdc = GetDC(hwnd); lpp->hdcMem = CreateCompatibleDC(hdc); - lpp->hbmMem = CreateCompatibleBitmap(hdc,client.right,client.bottom); - SelectObject(lpp->hdcMem,lpp->hbmMem); + lpp->hbmMem = CreateCompatibleBitmap(hdc, client.right, client.bottom); + SelectObject(lpp->hdcMem, lpp->hbmMem); - xdif=client.right /XSTEPS; - ydif=client.bottom/YSTEPS+1; - hdif=239/XSTEPS; - sdif=240/YSTEPS; - for(rect.left=hue=0;hue<239+hdif;hue+=hdif) + xdif = client.right / XSTEPS; + ydif = client.bottom / YSTEPS+1; + hdif = 239 / XSTEPS; + sdif = 240 / YSTEPS; + for (rect.left = hue = 0; hue < 239 + hdif; hue += hdif) { - rect.right=rect.left+xdif; - rect.bottom=client.bottom; - for(sat=0;sat<240+sdif;sat+=sdif) + rect.right = rect.left + xdif; + rect.bottom = client.bottom; + for(sat = 0; sat < 240 + sdif; sat += sdif) { - rect.top=rect.bottom-ydif; - r=CC_HSLtoRGB('R',hue,sat,120); - g=CC_HSLtoRGB('G',hue,sat,120); - b=CC_HSLtoRGB('B',hue,sat,120); - hbrush=CreateSolidBrush(RGB(r,g,b)); - FillRect16(lpp->hdcMem,&rect,hbrush); + rect.top = rect.bottom - ydif; + r = CC_HSLtoRGB('R', hue, sat, 120); + g = CC_HSLtoRGB('G', hue, sat, 120); + b = CC_HSLtoRGB('B', hue, sat, 120); + hbrush = CreateSolidBrush( RGB(r, g, b)); + FillRect(lpp->hdcMem, &rect, hbrush); DeleteObject(hbrush); - rect.bottom=rect.top; + rect.bottom = rect.top; } - rect.left=rect.right; + rect.left = rect.right; } - ReleaseDC(hwnd,hdc); - SetCursor16(hcursor); + ReleaseDC(hwnd, hdc); + SetCursor(hcursor); } /*********************************************************************** * CC_PaintColorGraph [internal] */ -static void CC_PaintColorGraph(HWND16 hDlg) +static void CC_PaintColorGraph( HWND hDlg ) { - HWND hwnd=GetDlgItem(hDlg,0x2c6); - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + HWND hwnd = GetDlgItem( hDlg, 0x2c6 ); + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); HDC hDC; - RECT16 rect; + RECT rect; if (IsWindowVisible(hwnd)) /* if full size */ { if (!lpp->hdcMem) CC_PrepareColorGraph(hDlg); /* should not be necessary */ - hDC=GetDC(hwnd); - GetClientRect16(hwnd,&rect); + hDC = GetDC(hwnd); + GetClientRect(hwnd, &rect); if (lpp->hdcMem) - BitBlt(hDC,0,0,rect.right,rect.bottom,lpp->hdcMem,0,0,SRCCOPY); + BitBlt(hDC, 0, 0, rect.right, rect.bottom, lpp->hdcMem, 0, 0, SRCCOPY); else - WARN("choose color: hdcMem is not defined\n"); - ReleaseDC(hwnd,hDC); + WARN("choose color: hdcMem is not defined\n"); + ReleaseDC(hwnd, hDC); } } + /*********************************************************************** * CC_PaintLumBar [internal] */ -static void CC_PaintLumBar(HWND16 hDlg,int hue,int sat) +static void CC_PaintLumBar( HWND hDlg, int hue, int sat ) { - HWND hwnd=GetDlgItem(hDlg,0x2be); - RECT16 rect,client; - int lum,ldif,ydif,r,g,b; + HWND hwnd = GetDlgItem(hDlg, 0x2be); + RECT rect, client; + int lum, ldif, ydif, r, g, b; HBRUSH hbrush; HDC hDC; if (IsWindowVisible(hwnd)) { - hDC=GetDC(hwnd); - GetClientRect16(hwnd,&client); - rect=client; + hDC = GetDC(hwnd); + GetClientRect(hwnd, &client); + rect = client; - ldif=240/YSTEPS; - ydif=client.bottom/YSTEPS+1; - for(lum=0;lum<240+ldif;lum+=ldif) + ldif = 240 / YSTEPS; + ydif = client.bottom / YSTEPS+1; + for (lum = 0; lum < 240 + ldif; lum += ldif) { - rect.top=max(0,rect.bottom-ydif); - r=CC_HSLtoRGB('R',hue,sat,lum); - g=CC_HSLtoRGB('G',hue,sat,lum); - b=CC_HSLtoRGB('B',hue,sat,lum); - hbrush=CreateSolidBrush(RGB(r,g,b)); - FillRect16(hDC,&rect,hbrush); + rect.top = max(0, rect.bottom - ydif); + r = CC_HSLtoRGB('R', hue, sat, lum); + g = CC_HSLtoRGB('G', hue, sat, lum); + b = CC_HSLtoRGB('B', hue, sat, lum); + hbrush = CreateSolidBrush( RGB(r, g, b) ); + FillRect(hDC, &rect, hbrush); DeleteObject(hbrush); - rect.bottom=rect.top; + rect.bottom = rect.top; } - GetClientRect16(hwnd,&rect); - FrameRect16(hDC,&rect,GetStockObject(BLACK_BRUSH)); - ReleaseDC(hwnd,hDC); + GetClientRect(hwnd, &rect); + FrameRect(hDC, &rect, GetStockObject(BLACK_BRUSH) ); + ReleaseDC(hwnd, hDC); } } /*********************************************************************** * CC_EditSetRGB [internal] */ -static void CC_EditSetRGB(HWND16 hDlg,COLORREF cr) +static void CC_EditSetRGB( HWND hDlg, COLORREF cr ) { char buffer[10]; - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - int r=GetRValue(cr); - int g=GetGValue(cr); - int b=GetBValue(cr); - if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */ + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + int r = GetRValue(cr); + int g = GetGValue(cr); + int b = GetBValue(cr); + if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6) )) /* if full size */ { - lpp->updating=TRUE; - sprintf(buffer,"%d",r); - SetWindowTextA(GetDlgItem(hDlg,0x2c2),buffer); - sprintf(buffer,"%d",g); - SetWindowTextA(GetDlgItem(hDlg,0x2c3),buffer); - sprintf(buffer,"%d",b); - SetWindowTextA(GetDlgItem(hDlg,0x2c4),buffer); - lpp->updating=FALSE; + lpp->updating = TRUE; + sprintf(buffer, "%d", r); + SetWindowTextA( GetDlgItem(hDlg, 0x2c2), buffer); + sprintf(buffer, "%d", g); + SetWindowTextA( GetDlgItem(hDlg, 0x2c3), buffer); + sprintf( buffer, "%d", b ); + SetWindowTextA( GetDlgItem(hDlg, 0x2c4),buffer); + lpp->updating = FALSE; } } /*********************************************************************** * CC_EditSetHSL [internal] */ -static void CC_EditSetHSL(HWND16 hDlg,int h,int s,int l) +static void CC_EditSetHSL( HWND hDlg, int h, int s, int l ) { char buffer[10]; - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - lpp->updating=TRUE; - if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */ + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + lpp->updating = TRUE; + if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6) )) /* if full size */ { - lpp->updating=TRUE; - sprintf(buffer,"%d",h); - SetWindowTextA(GetDlgItem(hDlg,0x2bf),buffer); - sprintf(buffer,"%d",s); - SetWindowTextA(GetDlgItem(hDlg,0x2c0),buffer); - sprintf(buffer,"%d",l); - SetWindowTextA(GetDlgItem(hDlg,0x2c1),buffer); - lpp->updating=FALSE; + lpp->updating = TRUE; + sprintf(buffer, "%d", h); + SetWindowTextA( GetDlgItem(hDlg, 0x2bf), buffer); + sprintf(buffer, "%d", s); + SetWindowTextA( GetDlgItem(hDlg, 0x2c0), buffer); + sprintf(buffer, "%d", l); + SetWindowTextA( GetDlgItem(hDlg, 0x2c1), buffer); + lpp->updating = FALSE; } - CC_PaintLumBar(hDlg,h,s); + CC_PaintLumBar(hDlg, h, s); } /*********************************************************************** * CC_SwitchToFullSize [internal] */ -static void CC_SwitchToFullSize(HWND16 hDlg,COLORREF result,LPRECT16 lprect) +static void CC_SwitchToFullSize( HWND hDlg, COLORREF result, LPRECT lprect ) { int i; - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - EnableWindow(GetDlgItem(hDlg,0x2cf),FALSE); + EnableWindow( GetDlgItem(hDlg, 0x2cf), FALSE); CC_PrepareColorGraph(hDlg); - for (i=0x2bf;i<0x2c5;i++) - EnableWindow(GetDlgItem(hDlg,i),TRUE); - for (i=0x2d3;i<0x2d9;i++) - EnableWindow(GetDlgItem(hDlg,i),TRUE); - EnableWindow(GetDlgItem(hDlg,0x2c9),TRUE); - EnableWindow(GetDlgItem(hDlg,0x2c8),TRUE); + for (i = 0x2bf; i < 0x2c5; i++) + ShowWindow( GetDlgItem(hDlg, i), SW_SHOW); + for (i = 0x2d3; i < 0x2d9; i++) + ShowWindow( GetDlgItem(hDlg, i), SW_SHOW); + ShowWindow( GetDlgItem(hDlg, 0x2c9), SW_SHOW); + ShowWindow( GetDlgItem(hDlg, 0x2c8), SW_SHOW); + ShowWindow( GetDlgItem(hDlg, 1090), SW_SHOW); if (lprect) - SetWindowPos(hDlg,0,0,0,lprect->right-lprect->left, + SetWindowPos(hDlg, 0, 0, 0, lprect->right-lprect->left, lprect->bottom-lprect->top, SWP_NOMOVE|SWP_NOZORDER); - ShowWindow(GetDlgItem(hDlg,0x2c6),SW_SHOW); - ShowWindow(GetDlgItem(hDlg,0x2be),SW_SHOW); - ShowWindow(GetDlgItem(hDlg,0x2c5),SW_SHOW); + ShowWindow( GetDlgItem(hDlg, 0x2be), SW_SHOW); + ShowWindow( GetDlgItem(hDlg, 0x2c5), SW_SHOW); - CC_EditSetRGB(hDlg,result); - CC_EditSetHSL(hDlg,lpp->h,lpp->s,lpp->l); + CC_EditSetRGB(hDlg, result); + CC_EditSetHSL(hDlg, lpp->h, lpp->s, lpp->l); + ShowWindow( GetDlgItem( hDlg, 0x2c6), SW_SHOW); + UpdateWindow( GetDlgItem(hDlg, 0x2c6) ); } /*********************************************************************** * CC_PaintPredefColorArray [internal] + * Paints the default standard 48 colors */ -static void CC_PaintPredefColorArray(HWND16 hDlg,int rows,int cols) +static void CC_PaintPredefColorArray( HWND hDlg, int rows, int cols) { - HWND hwnd=GetDlgItem(hDlg,0x2d0); - RECT16 rect; + HWND hwnd = GetDlgItem(hDlg, 0x2d0); + RECT rect; HDC hdc; HBRUSH hBrush; - int dx,dy,i,j,k; + int dx, dy, i, j, k; - GetClientRect16(hwnd,&rect); - dx=rect.right/cols; - dy=rect.bottom/rows; - k=rect.left; + GetClientRect(hwnd, &rect); + dx = rect.right / cols; + dy = rect.bottom / rows; + k = rect.left; - hdc=GetDC(hwnd); - GetClientRect16 (hwnd, &rect) ; - - for (j=0;jFlags & CC_ENABLEHOOK) @@ -826,23 +759,44 @@ static BOOL CC_HookCallChk(LPCHOOSECOLOR16 lpcc) return FALSE; } + /*********************************************************************** - * CC_WMInitDialog [internal] + * CC_WMInitDialog [internal] */ -static LONG CC_WMInitDialog(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) +static LONG CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam, BOOL b16 ) { - int i,res; + int i, res; int r, g, b; - HWND16 hwnd; - RECT16 rect; - POINT16 point; + HWND hwnd; + RECT rect; + POINT point; struct CCPRIVATE * lpp; TRACE("WM_INITDIALOG lParam=%08lX\n", lParam); - lpp=calloc(1,sizeof(struct CCPRIVATE)); - lpp->lpcc=(LPCHOOSECOLOR16)lParam; + lpp = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(struct CCPRIVATE) ); + if (b16) + { + CHOOSECOLORW *ch32; + CHOOSECOLOR16 *ch16 = (CHOOSECOLOR16 *) lParam; + ch32 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(CHOOSECOLORW) ); + lpp->lpcc = ch32; + lpp->lpcc16 = ch16; + if (lpp->lpcc16->lStructSize != sizeof(CHOOSECOLOR16) ) + { + EndDialog (hDlg, 0) ; + return FALSE; + } + ch32->lStructSize = sizeof(CHOOSECOLORW); + ch32->hwndOwner = ch16->hwndOwner; + ch32->hInstance = ch16->hInstance; + ch32->lpCustColors = PTR_SEG_TO_LIN(ch16->lpCustColors); + ch32->lpfnHook = (LPCCHOOKPROC) ch16->lpfnHook; /* only used as flag */ + ch32->Flags = ch16->Flags; + } + else + lpp->lpcc = (LPCHOOSECOLORW) lParam; - if (lpp->lpcc->lStructSize != sizeof(CHOOSECOLOR16)) + if (lpp->lpcc->lStructSize != sizeof(CHOOSECOLORW) ) { EndDialog (hDlg, 0) ; return FALSE; @@ -850,18 +804,18 @@ static LONG CC_WMInitDialog(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) SetWindowLongA(hDlg, DWL_USER, (LONG)lpp); if (!(lpp->lpcc->Flags & CC_SHOWHELP)) - ShowWindow(GetDlgItem(hDlg,0x40e),SW_HIDE); - lpp->msetrgb=RegisterWindowMessageA( SETRGBSTRING ); + ShowWindow( GetDlgItem(hDlg,0x40e), SW_HIDE); + lpp->msetrgb = RegisterWindowMessageA(SETRGBSTRING); #if 0 - cpos=MAKELONG(5,7); /* init */ + cpos = MAKELONG(5,7); /* init */ if (lpp->lpcc->Flags & CC_RGBINIT) { - for (i=0;i<6;i++) - for (j=0;j<8;j++) - if (predefcolors[i][j]==lpp->lpcc->rgbResult) + for (i = 0; i < 6; i++) + for (j = 0; j < 8; j++) + if (predefcolors[i][j] == lpp->lpcc->rgbResult) { - cpos=MAKELONG(i,j); + cpos = MAKELONG(i,j); goto found; } } @@ -869,45 +823,56 @@ static LONG CC_WMInitDialog(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) /* FIXME: Draw_a_focus_rect & set_init_values */ #endif - GetWindowRect16(hDlg,&lpp->fullsize); + GetWindowRect(hDlg, &lpp->fullsize); if (lpp->lpcc->Flags & CC_FULLOPEN || lpp->lpcc->Flags & CC_PREVENTFULLOPEN) { - hwnd=GetDlgItem(hDlg,0x2cf); - EnableWindow(hwnd,FALSE); + hwnd = GetDlgItem(hDlg, 0x2cf); + EnableWindow(hwnd, FALSE); } - if (!(lpp->lpcc->Flags & CC_FULLOPEN) || lpp->lpcc->Flags & CC_PREVENTFULLOPEN) + if (!(lpp->lpcc->Flags & CC_FULLOPEN ) || lpp->lpcc->Flags & CC_PREVENTFULLOPEN) { - rect=lpp->fullsize; - res=rect.bottom-rect.top; - hwnd=GetDlgItem(hDlg,0x2c6); /* cut at left border */ - point.x=point.y=0; - ClientToScreen16(hwnd,&point); - ScreenToClient16(hDlg,&point); - GetClientRect16(hDlg,&rect); - point.x+=GetSystemMetrics(SM_CXDLGFRAME); - SetWindowPos(hDlg,0,0,0,point.x,res,SWP_NOMOVE|SWP_NOZORDER); + rect = lpp->fullsize; + res = rect.bottom - rect.top; + hwnd = GetDlgItem(hDlg, 0x2c6); /* cut at left border */ + point.x = point.y = 0; + ClientToScreen(hwnd, &point); + ScreenToClient(hDlg,&point); + GetClientRect(hDlg, &rect); + point.x += GetSystemMetrics(SM_CXDLGFRAME); + SetWindowPos(hDlg, 0, 0, 0, point.x, res, SWP_NOMOVE|SWP_NOZORDER); - ShowWindow(GetDlgItem(hDlg,0x2c6),SW_HIDE); - ShowWindow(GetDlgItem(hDlg,0x2c5),SW_HIDE); + for (i = 0x2bf; i < 0x2c5; i++) + ShowWindow( GetDlgItem(hDlg, i), SW_HIDE); + for (i = 0x2d3; i < 0x2d9; i++) + ShowWindow( GetDlgItem(hDlg, i), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c9), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c8), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c6), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c5), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 1090 ), SW_HIDE); } else - CC_SwitchToFullSize(hDlg,lpp->lpcc->rgbResult,NULL); + CC_SwitchToFullSize(hDlg, lpp->lpcc->rgbResult, NULL); res=TRUE; - for (i=0x2bf;i<0x2c5;i++) - SendMessage16(GetDlgItem(hDlg,i),EM_LIMITTEXT16,3,0); /* max 3 digits: xyz */ + for (i = 0x2bf; i < 0x2c5; i++) + SendMessageA( GetDlgItem(hDlg, i), EM_LIMITTEXT, 3, 0); /* max 3 digits: xyz */ if (CC_HookCallChk(lpp->lpcc)) - res=CallWindowProc16((WNDPROC16)lpp->lpcc->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam); - + { + if (b16) + res = CallWindowProc16( (WNDPROC16)lpp->lpcc16->lpfnHook, hDlg, WM_INITDIALOG, wParam, lParam); + else + res = CallWindowProcA( (WNDPROC)lpp->lpcc->lpfnHook, hDlg, WM_INITDIALOG, wParam, lParam); + } /* Set the initial values of the color chooser dialog */ r = GetRValue(lpp->lpcc->rgbResult); g = GetGValue(lpp->lpcc->rgbResult); b = GetBValue(lpp->lpcc->rgbResult); - CC_PaintSelectedColor(hDlg,lpp->lpcc->rgbResult); - lpp->h=CC_RGBtoHSL('H',r,g,b); - lpp->s=CC_RGBtoHSL('S',r,g,b); - lpp->l=CC_RGBtoHSL('L',r,g,b); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + lpp->h = CC_RGBtoHSL('H', r, g, b); + lpp->s = CC_RGBtoHSL('S', r, g, b); + lpp->l = CC_RGBtoHSL('L', r, g, b); /* Doing it the long way becaus CC_EditSetRGB/HSL doesn'nt seem to work */ SetDlgItemInt(hDlg, 703, lpp->h, TRUE); @@ -917,51 +882,52 @@ static LONG CC_WMInitDialog(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) SetDlgItemInt(hDlg, 707, g, TRUE); SetDlgItemInt(hDlg, 708, b, TRUE); - CC_PaintCross(hDlg,lpp->h,lpp->s); - CC_PaintTriangle(hDlg,lpp->l); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); return res; } + /*********************************************************************** * CC_WMCommand [internal] */ -static LRESULT CC_WMCommand(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) +static LRESULT CC_WMCommand( HWND hDlg, WPARAM wParam, LPARAM lParam, WORD notifyCode, HWND hwndCtl ) { - int r,g,b,i,xx; - UINT16 cokmsg; + int r, g, b, i, xx; + UINT cokmsg; HDC hdc; COLORREF *cr; - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - TRACE("CC_WMCommand wParam=%x lParam=%lx\n",wParam,lParam); + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + TRACE("CC_WMCommand wParam=%x lParam=%lx\n", wParam, lParam); switch (wParam) { case 0x2c2: /* edit notify RGB */ case 0x2c3: case 0x2c4: - if (HIWORD(lParam)==EN_UPDATE && !lpp->updating) + if (notifyCode == EN_UPDATE && !lpp->updating) { - i=CC_CheckDigitsInEdit(LOWORD(lParam),255); - r=GetRValue(lpp->lpcc->rgbResult); - g=GetGValue(lpp->lpcc->rgbResult); - b=GetBValue(lpp->lpcc->rgbResult); - xx=0; + i = CC_CheckDigitsInEdit(hwndCtl, 255); + r = GetRValue(lpp->lpcc->rgbResult); + g = GetGValue(lpp->lpcc->rgbResult); + b= GetBValue(lpp->lpcc->rgbResult); + xx = 0; switch (wParam) { - case 0x2c2:if ((xx=(i!=r))) r=i;break; - case 0x2c3:if ((xx=(i!=g))) g=i;break; - case 0x2c4:if ((xx=(i!=b))) b=i;break; + case 0x2c2: if ((xx = (i != r))) r = i; break; + case 0x2c3: if ((xx = (i != g))) g = i; break; + case 0x2c4: if ((xx = (i != b))) b = i; break; } if (xx) /* something has changed */ { - lpp->lpcc->rgbResult=RGB(r,g,b); - CC_PaintSelectedColor(hDlg,lpp->lpcc->rgbResult); - lpp->h=CC_RGBtoHSL('H',r,g,b); - lpp->s=CC_RGBtoHSL('S',r,g,b); - lpp->l=CC_RGBtoHSL('L',r,g,b); - CC_EditSetHSL(hDlg,lpp->h,lpp->s,lpp->l); - CC_PaintCross(hDlg,lpp->h,lpp->s); - CC_PaintTriangle(hDlg,lpp->l); + lpp->lpcc->rgbResult = RGB(r, g, b); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + lpp->h = CC_RGBtoHSL('H', r, g, b); + lpp->s = CC_RGBtoHSL('S', r, g, b); + lpp->l = CC_RGBtoHSL('L', r, g, b); + CC_EditSetHSL(hDlg, lpp->h, lpp->s, lpp->l); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); } } break; @@ -969,81 +935,105 @@ static LRESULT CC_WMCommand(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) case 0x2bf: /* edit notify HSL */ case 0x2c0: case 0x2c1: - if (HIWORD(lParam)==EN_UPDATE && !lpp->updating) + if (notifyCode == EN_UPDATE && !lpp->updating) { - i=CC_CheckDigitsInEdit(LOWORD(lParam),wParam==0x2bf?239:240); - xx=0; + i = CC_CheckDigitsInEdit(hwndCtl , wParam == 0x2bf ? 239:240); + xx = 0; switch (wParam) { - case 0x2bf:if ((xx=(i!=lpp->h))) lpp->h=i;break; - case 0x2c0:if ((xx=(i!=lpp->s))) lpp->s=i;break; - case 0x2c1:if ((xx=(i!=lpp->l))) lpp->l=i;break; + case 0x2bf: if ((xx = ( i != lpp->h))) lpp->h = i; break; + case 0x2c0: if ((xx = ( i != lpp->s))) lpp->s = i; break; + case 0x2c1: if ((xx = ( i != lpp->l))) lpp->l = i; break; } if (xx) /* something has changed */ { - r=CC_HSLtoRGB('R',lpp->h,lpp->s,lpp->l); - g=CC_HSLtoRGB('G',lpp->h,lpp->s,lpp->l); - b=CC_HSLtoRGB('B',lpp->h,lpp->s,lpp->l); - lpp->lpcc->rgbResult=RGB(r,g,b); - CC_PaintSelectedColor(hDlg,lpp->lpcc->rgbResult); - CC_EditSetRGB(hDlg,lpp->lpcc->rgbResult); - CC_PaintCross(hDlg,lpp->h,lpp->s); - CC_PaintTriangle(hDlg,lpp->l); + r = CC_HSLtoRGB('R', lpp->h, lpp->s, lpp->l); + g = CC_HSLtoRGB('G', lpp->h, lpp->s, lpp->l); + b = CC_HSLtoRGB('B', lpp->h, lpp->s, lpp->l); + lpp->lpcc->rgbResult = RGB(r, g, b); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + CC_EditSetRGB(hDlg, lpp->lpcc->rgbResult); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); } } break; case 0x2cf: - CC_SwitchToFullSize(hDlg,lpp->lpcc->rgbResult,&lpp->fullsize); - InvalidateRect( hDlg, NULL, TRUE ); - SetFocus(GetDlgItem(hDlg,0x2bf)); + CC_SwitchToFullSize(hDlg, lpp->lpcc->rgbResult, &lpp->fullsize); + SetFocus( GetDlgItem(hDlg, 0x2bf)); break; case 0x2c8: /* add colors ... column by column */ - cr=PTR_SEG_TO_LIN(lpp->lpcc->lpCustColors); - cr[(lpp->nextuserdef%2)*8 + lpp->nextuserdef/2]=lpp->lpcc->rgbResult; - if (++lpp->nextuserdef==16) - lpp->nextuserdef=0; - CC_PaintUserColorArray(hDlg,2,8,PTR_SEG_TO_LIN(lpp->lpcc->lpCustColors)); + cr = lpp->lpcc->lpCustColors; + cr[(lpp->nextuserdef % 2) * 8 + lpp->nextuserdef / 2] = lpp->lpcc->rgbResult; + if (++lpp->nextuserdef == 16) + lpp->nextuserdef = 0; + CC_PaintUserColorArray(hDlg, 2, 8, lpp->lpcc->lpCustColors); break; case 0x2c9: /* resulting color */ - hdc=GetDC(hDlg); - lpp->lpcc->rgbResult=GetNearestColor(hdc,lpp->lpcc->rgbResult); - ReleaseDC(hDlg,hdc); - CC_EditSetRGB(hDlg,lpp->lpcc->rgbResult); - CC_PaintSelectedColor(hDlg,lpp->lpcc->rgbResult); - r=GetRValue(lpp->lpcc->rgbResult); - g=GetGValue(lpp->lpcc->rgbResult); - b=GetBValue(lpp->lpcc->rgbResult); - lpp->h=CC_RGBtoHSL('H',r,g,b); - lpp->s=CC_RGBtoHSL('S',r,g,b); - lpp->l=CC_RGBtoHSL('L',r,g,b); - CC_EditSetHSL(hDlg,lpp->h,lpp->s,lpp->l); - CC_PaintCross(hDlg,lpp->h,lpp->s); - CC_PaintTriangle(hDlg,lpp->l); + hdc = GetDC(hDlg); + lpp->lpcc->rgbResult = GetNearestColor(hdc, lpp->lpcc->rgbResult); + ReleaseDC(hDlg, hdc); + CC_EditSetRGB(hDlg, lpp->lpcc->rgbResult); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + r = GetRValue(lpp->lpcc->rgbResult); + g = GetGValue(lpp->lpcc->rgbResult); + b = GetBValue(lpp->lpcc->rgbResult); + lpp->h = CC_RGBtoHSL('H', r, g, b); + lpp->s = CC_RGBtoHSL('S', r, g, b); + lpp->l = CC_RGBtoHSL('L', r, g, b); + CC_EditSetHSL(hDlg, lpp->h, lpp->s, lpp->l); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); break; case 0x40e: /* Help! */ /* The Beatles, 1965 ;-) */ - i=RegisterWindowMessageA( HELPMSGSTRING ); - if (lpp->lpcc->hwndOwner) - SendMessage16(lpp->lpcc->hwndOwner,i,0,(LPARAM)lpp->lpcc); - if (CC_HookCallChk(lpp->lpcc)) - CallWindowProc16((WNDPROC16)lpp->lpcc->lpfnHook,hDlg, - WM_COMMAND,psh15,(LPARAM)lpp->lpcc); + i = RegisterWindowMessageA(HELPMSGSTRING); + if (lpp->lpcc16) + { + if (lpp->lpcc->hwndOwner) + SendMessage16(lpp->lpcc->hwndOwner, i, 0, (LPARAM)lpp->lpcc16); + if ( CC_HookCallChk(lpp->lpcc)) + CallWindowProc16( (WNDPROC16) lpp->lpcc16->lpfnHook, hDlg, + WM_COMMAND, psh15, (LPARAM)lpp->lpcc16); + } + else + { + if (lpp->lpcc->hwndOwner) + SendMessageA(lpp->lpcc->hwndOwner, i, 0, (LPARAM)lpp->lpcc); + if ( CC_HookCallChk(lpp->lpcc)) + CallWindowProcA( (WNDPROC) lpp->lpcc->lpfnHook, hDlg, + WM_COMMAND, psh15, (LPARAM)lpp->lpcc); + } break; case IDOK : - cokmsg=RegisterWindowMessageA( COLOROKSTRING ); - if (lpp->lpcc->hwndOwner) - if (SendMessage16(lpp->lpcc->hwndOwner,cokmsg,0,(LPARAM)lpp->lpcc)) + cokmsg = RegisterWindowMessageA(COLOROKSTRING); + if (lpp->lpcc16) + { + if (lpp->lpcc->hwndOwner) + if (SendMessage16(lpp->lpcc->hwndOwner, cokmsg, 0, (LPARAM)lpp->lpcc16)) break; /* do NOT close */ - - EndDialog (hDlg, 1) ; + } + else + { + if (lpp->lpcc->hwndOwner) + if (SendMessageA(lpp->lpcc->hwndOwner, cokmsg, 0, (LPARAM)lpp->lpcc)) + break; /* do NOT close */ + } + if (lpp->lpcc16) + { + BYTE *ptr = PTR_SEG_TO_LIN(lpp->lpcc16->lpCustColors); + memcpy(ptr, lpp->lpcc->lpCustColors, sizeof(COLORREF)*16); + lpp->lpcc16->rgbResult = lpp->lpcc->rgbResult; + } + EndDialog(hDlg, 1) ; return TRUE ; case IDCANCEL : - EndDialog (hDlg, 0) ; + EndDialog(hDlg, 0) ; return TRUE ; } @@ -1053,132 +1043,200 @@ static LRESULT CC_WMCommand(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) /*********************************************************************** * CC_WMPaint [internal] */ -static LRESULT CC_WMPaint(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) +static LRESULT CC_WMPaint( HWND hDlg, WPARAM wParam, LPARAM lParam ) { HDC hdc; PAINTSTRUCT ps; - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - hdc=BeginPaint(hDlg,&ps); - EndPaint(hDlg,&ps); + hdc = BeginPaint(hDlg, &ps); + EndPaint(hDlg, &ps); /* we have to paint dialog children except text and buttons */ - - CC_PaintPredefColorArray(hDlg,6,8); - CC_PaintUserColorArray(hDlg,2,8,PTR_SEG_TO_LIN(lpp->lpcc->lpCustColors)); + CC_PaintPredefColorArray(hDlg, 6, 8); + CC_PaintUserColorArray(hDlg, 2, 8, lpp->lpcc->lpCustColors); + CC_PaintLumBar(hDlg, lpp->h, lpp->s); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); CC_PaintColorGraph(hDlg); - CC_PaintLumBar(hDlg,lpp->h,lpp->s); - CC_PaintCross(hDlg,lpp->h,lpp->s); - CC_PaintTriangle(hDlg,lpp->l); - CC_PaintSelectedColor(hDlg,lpp->lpcc->rgbResult); /* special necessary for Wine */ - ValidateRect(GetDlgItem(hDlg,0x2d0),NULL); - ValidateRect(GetDlgItem(hDlg,0x2d1),NULL); - ValidateRect(GetDlgItem(hDlg,0x2c6),NULL); - ValidateRect(GetDlgItem(hDlg,0x2be),NULL); - ValidateRect(GetDlgItem(hDlg,0x2c5),NULL); + ValidateRect( GetDlgItem(hDlg, 0x2d0), NULL); + ValidateRect( GetDlgItem(hDlg, 0x2d1), NULL); + ValidateRect( GetDlgItem(hDlg, 0x2be), NULL); + ValidateRect( GetDlgItem(hDlg, 0x2c5), NULL); + ValidateRect( GetDlgItem(hDlg, 0x2c6), NULL); /* hope we can remove it later -->FIXME */ return TRUE; } +/*********************************************************************** + * CC_WMLButtonUp [internal] + */ +static LRESULT CC_WMLButtonUp( HWND hDlg, WPARAM wParam, LPARAM lParam ) +{ + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + if (lpp->capturedGraph) + { + lpp->capturedGraph = 0; + ReleaseCapture(); + CC_PaintCross(hDlg, lpp->h, lpp->s); + return 1; + } + return 0; +} + + +/*********************************************************************** + * CC_WMMouseMove [internal] + */ +static LRESULT CC_WMMouseMove( HWND hDlg, LPARAM lParam ) +{ + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + int r, g, b; + + if (lpp->capturedGraph) + { + int *ptrh = NULL, *ptrs = &lpp->l; + if (lpp->capturedGraph == 0x2c6) + { + ptrh = &lpp->h; + ptrs = &lpp->s; + } + if (CC_MouseCheckColorGraph( hDlg, lpp->capturedGraph, ptrh, ptrs, lParam)) + { + r = CC_HSLtoRGB('R', lpp->h, lpp->s, lpp->l); + g = CC_HSLtoRGB('G', lpp->h, lpp->s, lpp->l); + b = CC_HSLtoRGB('B', lpp->h, lpp->s, lpp->l); + lpp->lpcc->rgbResult = RGB(r, g, b); + CC_EditSetRGB(hDlg, lpp->lpcc->rgbResult); + CC_EditSetHSL(hDlg,lpp->h, lpp->s, lpp->l); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + } + else + { + ReleaseCapture(); + lpp->capturedGraph = 0; + } + return 1; + } + return 0; +} /*********************************************************************** * CC_WMLButtonDown [internal] */ -static LRESULT CC_WMLButtonDown(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) +static LRESULT CC_WMLButtonDown( HWND hDlg, WPARAM wParam, LPARAM lParam ) { - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - int r,g,b,i; - i=0; - if (CC_MouseCheckPredefColorArray(hDlg,0x2d0,6,8,lParam,&lpp->lpcc->rgbResult)) - i=1; + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + int r, g, b, i; + i = 0; + + if (CC_MouseCheckPredefColorArray(hDlg, 0x2d0, 6, 8, lParam, &lpp->lpcc->rgbResult)) + i = 1; else - if (CC_MouseCheckUserColorArray(hDlg,0x2d1,2,8,lParam,&lpp->lpcc->rgbResult, - PTR_SEG_TO_LIN(lpp->lpcc->lpCustColors))) - i=1; + if (CC_MouseCheckUserColorArray(hDlg, 0x2d1, 2, 8, lParam,&lpp->lpcc->rgbResult, + lpp->lpcc->lpCustColors)) + i = 1; else - if (CC_MouseCheckColorGraph(hDlg,0x2c6,&lpp->h,&lpp->s,lParam)) - i=2; + if (CC_MouseCheckColorGraph(hDlg, 0x2c6, &lpp->h, &lpp->s, lParam)) + { + i = 2; + lpp->capturedGraph = 0x2c6; + } else - if (CC_MouseCheckColorGraph(hDlg,0x2be,NULL,&lpp->l,lParam)) - i=2; - if (i==2) + if (CC_MouseCheckColorGraph(hDlg, 0x2be, NULL, &lpp->l, lParam)) + { + i = 2; + lpp->capturedGraph = 0x2be; + } + if ( i == 2 ) { - r=CC_HSLtoRGB('R',lpp->h,lpp->s,lpp->l); - g=CC_HSLtoRGB('G',lpp->h,lpp->s,lpp->l); - b=CC_HSLtoRGB('B',lpp->h,lpp->s,lpp->l); - lpp->lpcc->rgbResult=RGB(r,g,b); + SetCapture(hDlg); + r = CC_HSLtoRGB('R', lpp->h, lpp->s, lpp->l); + g = CC_HSLtoRGB('G', lpp->h, lpp->s, lpp->l); + b = CC_HSLtoRGB('B', lpp->h, lpp->s, lpp->l); + lpp->lpcc->rgbResult = RGB(r, g, b); } - if (i==1) + if ( i == 1 ) { - r=GetRValue(lpp->lpcc->rgbResult); - g=GetGValue(lpp->lpcc->rgbResult); - b=GetBValue(lpp->lpcc->rgbResult); - lpp->h=CC_RGBtoHSL('H',r,g,b); - lpp->s=CC_RGBtoHSL('S',r,g,b); - lpp->l=CC_RGBtoHSL('L',r,g,b); + r = GetRValue(lpp->lpcc->rgbResult); + g = GetGValue(lpp->lpcc->rgbResult); + b = GetBValue(lpp->lpcc->rgbResult); + lpp->h = CC_RGBtoHSL('H', r, g, b); + lpp->s = CC_RGBtoHSL('S', r, g, b); + lpp->l = CC_RGBtoHSL('L', r, g, b); } if (i) { - CC_EditSetRGB(hDlg,lpp->lpcc->rgbResult); - CC_EditSetHSL(hDlg,lpp->h,lpp->s,lpp->l); - CC_PaintCross(hDlg,lpp->h,lpp->s); - CC_PaintTriangle(hDlg,lpp->l); - CC_PaintSelectedColor(hDlg,lpp->lpcc->rgbResult); + CC_EditSetRGB(hDlg, lpp->lpcc->rgbResult); + CC_EditSetHSL(hDlg,lpp->h, lpp->s, lpp->l); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); return TRUE; } return FALSE; } + /*********************************************************************** - * ColorDlgProc (COMMDLG.8) + * ColorDlgProc32 [internal] + * */ -LRESULT WINAPI ColorDlgProc16(HWND16 hDlg, UINT16 message, - WPARAM16 wParam, LONG lParam) +static LRESULT WINAPI ColorDlgProc( HWND hDlg, UINT message, + WPARAM wParam, LPARAM lParam ) { + int res; - struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); - if (message!=WM_INITDIALOG) + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + if (message != WM_INITDIALOG) { if (!lpp) return FALSE; - res=0; + res = 0; if (CC_HookCallChk(lpp->lpcc)) - res=CallWindowProc16((WNDPROC16)lpp->lpcc->lpfnHook,hDlg,message,wParam,lParam); - if (res) + res = CallWindowProcA( (WNDPROC)lpp->lpcc->lpfnHook, hDlg, message, wParam, lParam); + if ( res ) return res; } /* FIXME: SetRGB message - if (message && message==msetrgb) - return HandleSetRGB(hDlg,lParam); + if (message && message == msetrgb) + return HandleSetRGB(hDlg, lParam); */ switch (message) { case WM_INITDIALOG: - return CC_WMInitDialog(hDlg,wParam,lParam); + return CC_WMInitDialog(hDlg, wParam, lParam, FALSE); case WM_NCDESTROY: DeleteDC(lpp->hdcMem); DeleteObject(lpp->hbmMem); - free(lpp); + HeapFree(GetProcessHeap(), 0, lpp); SetWindowLongA(hDlg, DWL_USER, 0L); /* we don't need it anymore */ break; case WM_COMMAND: - if (CC_WMCommand(hDlg, wParam, lParam)) + if (CC_WMCommand( hDlg, wParam, lParam, HIWORD(wParam), (HWND) lParam)) return TRUE; break; case WM_PAINT: - if (CC_WMPaint(hDlg, wParam, lParam)) + if ( CC_WMPaint(hDlg, wParam, lParam)) return TRUE; break; case WM_LBUTTONDBLCLK: - if (CC_MouseCheckResultWindow(hDlg,lParam)) + if (CC_MouseCheckResultWindow(hDlg, lParam)) return TRUE; break; - case WM_MOUSEMOVE: /* FIXME: calculate new hue,sat,lum (if in color graph) */ + case WM_MOUSEMOVE: + if (CC_WMMouseMove(hDlg, lParam)) + return TRUE; break; case WM_LBUTTONUP: /* FIXME: ClipCursor off (if in color graph)*/ + if (CC_WMLButtonUp(hDlg, wParam, lParam)) + return TRUE; break; case WM_LBUTTONDOWN:/* FIXME: ClipCursor on (if in color graph)*/ if (CC_WMLButtonDown(hDlg, wParam, lParam)) @@ -1189,77 +1247,230 @@ LRESULT WINAPI ColorDlgProc16(HWND16 hDlg, UINT16 message, } /*********************************************************************** - * ChooseColorA (COMDLG32.1) + * ColorDlgProc16 (COMMDLG.8) */ -BOOL WINAPI ChooseColorA(LPCHOOSECOLORA lpChCol ) - +LRESULT WINAPI ColorDlgProc16( HWND16 hDlg, UINT16 message, + WPARAM16 wParam, LONG lParam ) { - BOOL16 ret; - char *str = NULL; - COLORREF* ccref=SEGPTR_ALLOC(64); - LPCHOOSECOLOR16 lpcc16=SEGPTR_ALLOC(sizeof(CHOOSECOLOR16)); + int res; + struct CCPRIVATE * lpp = (struct CCPRIVATE *)GetWindowLongA(hDlg, DWL_USER); + if (message != WM_INITDIALOG) + { + if (!lpp) + return FALSE; + res=0; + if (CC_HookCallChk(lpp->lpcc)) + res = CallWindowProc16( (WNDPROC16)lpp->lpcc16->lpfnHook, hDlg, message, wParam, lParam); + if (res) + return res; + } - memset(lpcc16,'\0',sizeof(*lpcc16)); - lpcc16->lStructSize=sizeof(*lpcc16); - lpcc16->hwndOwner=lpChCol->hwndOwner; - lpcc16->hInstance=MapHModuleLS(lpChCol->hInstance); - lpcc16->rgbResult=lpChCol->rgbResult; - memcpy(ccref,lpChCol->lpCustColors,64); - lpcc16->lpCustColors=(COLORREF*)SEGPTR_GET(ccref); - lpcc16->Flags=lpChCol->Flags; - lpcc16->lCustData=lpChCol->lCustData; - lpcc16->lpfnHook=(LPCCHOOKPROC16)lpChCol->lpfnHook; - if (lpChCol->lpTemplateName) - str = SEGPTR_STRDUP(lpChCol->lpTemplateName ); - lpcc16->lpTemplateName=SEGPTR_GET(str); - - ret = ChooseColor16(lpcc16); + /* FIXME: SetRGB message + if (message && message == msetrgb) + return HandleSetRGB(hDlg, lParam); + */ - if(ret) - lpChCol->rgbResult = lpcc16->rgbResult; + switch (message) + { + case WM_INITDIALOG: + return CC_WMInitDialog(hDlg, wParam, lParam, TRUE); + case WM_NCDESTROY: + DeleteDC(lpp->hdcMem); + DeleteObject(lpp->hbmMem); + HeapFree(GetProcessHeap(), 0, lpp->lpcc); + HeapFree(GetProcessHeap(), 0, lpp); + SetWindowLongA(hDlg, DWL_USER, 0L); /* we don't need it anymore */ + break; + case WM_COMMAND: + if (CC_WMCommand(hDlg, wParam, lParam, HIWORD(lParam), (HWND)LOWORD(lParam))) + return TRUE; + break; + case WM_PAINT: + if (CC_WMPaint(hDlg, wParam, lParam)) + return TRUE; + break; + case WM_LBUTTONDBLCLK: + if (CC_MouseCheckResultWindow(hDlg,lParam)) + return TRUE; + break; + case WM_MOUSEMOVE: + if (CC_WMMouseMove(hDlg, lParam)) + return TRUE; + break; + case WM_LBUTTONUP: /* FIXME: ClipCursor off (if in color graph)*/ + if (CC_WMLButtonUp(hDlg, wParam, lParam)) + return TRUE; + break; + case WM_LBUTTONDOWN:/* FIXME: ClipCursor on (if in color graph)*/ + if (CC_WMLButtonDown(hDlg, wParam, lParam)) + return TRUE; + break; + } + return FALSE ; +} - if(str) - SEGPTR_FREE(str); - memcpy(lpChCol->lpCustColors,ccref,64); - SEGPTR_FREE(ccref); - SEGPTR_FREE(lpcc16); - return (BOOL)ret; + + +/*********************************************************************** + * ChooseColor16 (COMMDLG.5) + */ +BOOL16 WINAPI ChooseColor16( LPCHOOSECOLOR16 lpChCol ) +{ + HINSTANCE16 hInst; + HANDLE16 hDlgTmpl = 0; + BOOL16 bRet = FALSE, win32Format = FALSE; + LPCVOID template; + HWND hwndDialog; + + TRACE("ChooseColor\n"); + if (!lpChCol) return FALSE; + + if (lpChCol->Flags & CC_ENABLETEMPLATEHANDLE) + { + if (!(template = LockResource16( lpChCol->hInstance))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); + return FALSE; + } + } + else if (lpChCol->Flags & CC_ENABLETEMPLATE) + { + HANDLE16 hResInfo; + if (!(hResInfo = FindResource16(lpChCol->hInstance, + lpChCol->lpTemplateName, + RT_DIALOG16))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_FINDRESFAILURE); + return FALSE; + } + if (!(hDlgTmpl = LoadResource16(lpChCol->hInstance, hResInfo)) || + !(template = LockResource16(hDlgTmpl))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); + return FALSE; + } + } + else + { + HANDLE hResInfo, hDlgTmpl; + if (!(hResInfo = FindResourceA(COMMDLG_hInstance32, "CHOOSE_COLOR", RT_DIALOGA))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_FINDRESFAILURE); + return FALSE; + } + if (!(hDlgTmpl = LoadResource(COMMDLG_hInstance32, hResInfo)) || + !(template = LockResource(hDlgTmpl))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); + return FALSE; + } + win32Format = TRUE; + } + + hInst = GetWindowLongA(lpChCol->hwndOwner, GWL_HINSTANCE); + hwndDialog = DIALOG_CreateIndirect(hInst, template, win32Format, + lpChCol->hwndOwner, + (DLGPROC16)ColorDlgProc16, + (DWORD)lpChCol, WIN_PROC_32A); + if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChCol->hwndOwner); + if (hDlgTmpl) FreeResource16(hDlgTmpl); + + return bRet; } /*********************************************************************** * ChooseColorW (COMDLG32.2) */ -BOOL WINAPI ChooseColorW(LPCHOOSECOLORW lpChCol ) +BOOL WINAPI ChooseColorW( LPCHOOSECOLORW lpChCol ) { - BOOL16 ret; - char *str = NULL; - COLORREF* ccref=SEGPTR_ALLOC(64); - LPCHOOSECOLOR16 lpcc16=SEGPTR_ALLOC(sizeof(CHOOSECOLOR16)); - memset(lpcc16,'\0',sizeof(*lpcc16)); - lpcc16->lStructSize=sizeof(*lpcc16); - lpcc16->hwndOwner=lpChCol->hwndOwner; - lpcc16->hInstance=MapHModuleLS(lpChCol->hInstance); - lpcc16->rgbResult=lpChCol->rgbResult; - memcpy(ccref,lpChCol->lpCustColors,64); - lpcc16->lpCustColors=(COLORREF*)SEGPTR_GET(ccref); - lpcc16->Flags=lpChCol->Flags; - lpcc16->lCustData=lpChCol->lCustData; - lpcc16->lpfnHook=(LPCCHOOKPROC16)lpChCol->lpfnHook; - if (lpChCol->lpTemplateName) - str = SEGPTR_STRDUP_WtoA(lpChCol->lpTemplateName ); - lpcc16->lpTemplateName=SEGPTR_GET(str); - - ret = ChooseColor16(lpcc16); + HANDLE hDlgTmpl = 0; + BOOL bRet = FALSE; + LPCVOID template; + HWND hwndDialog; - if(ret) - lpChCol->rgbResult = lpcc16->rgbResult; + TRACE("ChooseColor\n"); + if (!lpChCol) return FALSE; - if(str) - SEGPTR_FREE(str); - memcpy(lpChCol->lpCustColors,ccref,64); - SEGPTR_FREE(ccref); - SEGPTR_FREE(lpcc16); - return (BOOL)ret; + if (lpChCol->Flags & CC_ENABLETEMPLATEHANDLE) + { + if (!(template = LockResource(lpChCol->hInstance))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); + return FALSE; + } + } + else if (lpChCol->Flags & CC_ENABLETEMPLATE) + { + HANDLE hResInfo; + if (!(hResInfo = FindResourceW(lpChCol->hInstance, + lpChCol->lpTemplateName, + RT_DIALOGW))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_FINDRESFAILURE); + return FALSE; + } + if (!(hDlgTmpl = LoadResource(lpChCol->hInstance, hResInfo)) || + !(template = LockResource(hDlgTmpl))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); + return FALSE; + } + } + else + { + HANDLE hResInfo, hDlgTmpl; + if (!(hResInfo = FindResourceA(COMMDLG_hInstance32, "CHOOSE_COLOR", RT_DIALOGA))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_FINDRESFAILURE); + return FALSE; + } + if (!(hDlgTmpl = LoadResource(COMMDLG_hInstance32, hResInfo )) || + !(template = LockResource(hDlgTmpl))) + { + COMDLG32_SetCommDlgExtendedError(CDERR_LOADRESFAILURE); + return FALSE; + } + } + + hwndDialog = DIALOG_CreateIndirect(COMMDLG_hInstance32, template, TRUE, + lpChCol->hwndOwner, + (DLGPROC16)ColorDlgProc, + (DWORD)lpChCol, WIN_PROC_32W); + if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChCol->hwndOwner); + if (hDlgTmpl) FreeResource(hDlgTmpl); + + return bRet; +} + +/*********************************************************************** + * ChooseColorA (COMDLG32.1) + */ +BOOL WINAPI ChooseColorA( LPCHOOSECOLORA lpChCol ) + +{ + BOOL ret; + WCHAR *wstr = NULL; + LPCHOOSECOLORW lpcc = HeapAlloc( GetProcessHeap(), 0, sizeof(CHOOSECOLORW)); + + lpcc->lStructSize = sizeof(*lpcc); + lpcc->hwndOwner = lpChCol->hwndOwner; + lpcc->hInstance = lpChCol->hInstance; + lpcc->rgbResult = lpChCol->rgbResult; + lpcc->lpCustColors = lpChCol->lpCustColors; + lpcc->Flags = lpChCol->Flags; + lpcc->lCustData = lpChCol->lCustData; + lpcc->lpfnHook = (LPCCHOOKPROC) lpChCol->lpfnHook; + if (lpChCol->lpTemplateName) + wstr = HEAP_strdupAtoW( GetProcessHeap(), 0, lpChCol->lpTemplateName); + lpcc->lpTemplateName = wstr; + + ret = ChooseColorW(lpcc); + + if ( ret ) + lpChCol->rgbResult = lpcc->rgbResult; + if ( wstr ) HeapFree( GetProcessHeap(), 0, wstr); + HeapFree( GetProcessHeap(), 0, lpcc ); + return ret; } diff --git a/include/commdlg.h b/include/commdlg.h index 251e481e772..d046e4cb7ad 100644 --- a/include/commdlg.h +++ b/include/commdlg.h @@ -174,7 +174,7 @@ typedef struct { HWND hwndOwner; HWND hInstance; DWORD rgbResult; - LPDWORD *lpCustColors; + LPDWORD lpCustColors; DWORD Flags; DWORD lCustData; LPCCHOOKPROC lpfnHook;