[PATCH 3/5] uxtheme: Support parsing more combobox parts and states.

Zhiyi Zhang wine at gitlab.winehq.org
Mon Jun 20 22:10:59 CDT 2022


From: Zhiyi Zhang <zzhang at codeweavers.com>

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
 dlls/uxtheme/stylemap.c | 34 ++++++++++++++++++++++++++++++++++
 include/vsstyle.h       |  6 ++++++
 2 files changed, 40 insertions(+)

diff --git a/dlls/uxtheme/stylemap.c b/dlls/uxtheme/stylemap.c
index 8597be2b40e..b5063f3a6ed 100644
--- a/dlls/uxtheme/stylemap.c
+++ b/dlls/uxtheme/stylemap.c
@@ -442,6 +442,40 @@ static const MSSTYLES_CLASS_MAP classCombobox[] = {
     {CP_DROPDOWNBUTTON, CBXS_HOT, L"HOT"},
     {CP_DROPDOWNBUTTON, CBXS_PRESSED, L"PRESSED"},
     {CP_DROPDOWNBUTTON, CBXS_DISABLED, L"DISABLED"},
+    {CP_BACKGROUND, 0, L"BACKGROUND"},
+    {CP_TRANSPARENTBACKGROUND, 0, L"TRANSPARENTBACKGROUND"},
+    {CP_TRANSPARENTBACKGROUND, CBTBS_NORMAL, L"NORMAL"},
+    {CP_TRANSPARENTBACKGROUND, CBTBS_HOT, L"HOT"},
+    {CP_TRANSPARENTBACKGROUND, CBTBS_DISABLED, L"DISABLED"},
+    {CP_TRANSPARENTBACKGROUND, CBTBS_FOCUSED, L"FOCUSED"},
+    {CP_BORDER, 0, L"BORDER"},
+    {CP_BORDER, CBB_NORMAL, L"NORMAL"},
+    {CP_BORDER, CBB_HOT, L"HOT"},
+    {CP_BORDER, CBB_FOCUSED, L"FOCUSED"},
+    {CP_BORDER, CBB_DISABLED, L"DISABLED"},
+    {CP_READONLY, 0, L"READONLY"},
+    {CP_READONLY, CBRO_NORMAL, L"NORMAL"},
+    {CP_READONLY, CBRO_HOT, L"HOT"},
+    {CP_READONLY, CBRO_PRESSED, L"PRESSED"},
+    {CP_READONLY, CBRO_DISABLED, L"DISABLED"},
+    {CP_DROPDOWNBUTTONRIGHT, 0, L"DROPDOWNBUTTONRIGHT"},
+    {CP_DROPDOWNBUTTONRIGHT, CBXSR_NORMAL, L"NORMAL"},
+    {CP_DROPDOWNBUTTONRIGHT, CBXSR_HOT, L"HOT"},
+    {CP_DROPDOWNBUTTONRIGHT, CBXSR_PRESSED, L"PRESSED"},
+    {CP_DROPDOWNBUTTONRIGHT, CBXSR_DISABLED, L"DISABLED"},
+    {CP_DROPDOWNBUTTONLEFT, 0, L"DROPDOWNBUTTONLEFT"},
+    {CP_DROPDOWNBUTTONLEFT, CBXSL_NORMAL, L"NORMAL"},
+    {CP_DROPDOWNBUTTONLEFT, CBXSL_HOT, L"HOT"},
+    {CP_DROPDOWNBUTTONLEFT, CBXSL_PRESSED, L"PRESSED"},
+    {CP_DROPDOWNBUTTONLEFT, CBXSL_DISABLED, L"DISABLED"},
+    {CP_CUEBANNER, 0, L"CUEBANNER"},
+    {CP_CUEBANNER, CBCB_NORMAL, L"NORMAL"},
+    {CP_CUEBANNER, CBCB_HOT, L"HOT"},
+    {CP_CUEBANNER, CBCB_PRESSED, L"PRESSED"},
+    {CP_CUEBANNER, CBCB_DISABLED, L"DISABLED"},
+    {CP_DROPDOWNITEM, 0, L"DROPDOWNITEM"},
+    {CP_DROPDOWNITEM, CBDI_NORMAL, L"NORMAL"},
+    {CP_DROPDOWNITEM, CBDI_HIGHLIGHTED, L"HIGHLIGHTED"},
     {0, 0, L""}
 };
 
diff --git a/include/vsstyle.h b/include/vsstyle.h
index f5af8492aef..3075b4cdc08 100644
--- a/include/vsstyle.h
+++ b/include/vsstyle.h
@@ -168,6 +168,7 @@ enum COMBOBOXPARTS {
     CP_DROPDOWNBUTTONRIGHT = 6,
     CP_DROPDOWNBUTTONLEFT = 7,
     CP_CUEBANNER = 8,
+    CP_DROPDOWNITEM = 9,
 };
 
 #define COMBOBOXSTYLEPARTS COMBOBOXPARTS;
@@ -221,6 +222,11 @@ enum CUEBANNERSTATES {
     CBCB_DISABLED = 4,
 };
 
+enum DROPDOWNITEMSTATES {
+    CBDI_NORMAL = 1,
+    CBDI_HIGHLIGHTED = 2,
+};
+
 /* COMMUNICATIONSSTYLE class */
 #if defined(_MSC_VER) || defined(__MINGW32__)
 #define VSCLASS_COMMUNICATIONSSTYLE L"COMMUNICATIONSSTYLE"
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/287



More information about the wine-devel mailing list