From 6e21a3db8ab7f04e1497a62075a4d4dbbc9f75c6 Mon Sep 17 00:00:00 2001 From: Kevin Hock Date: Wed, 5 Oct 2005 15:42:16 +0000 Subject: [PATCH] Revert last change, which made it impossible to set a custom text color and then query the color. Instead, set the correct system/theme color when the control is created and use the original GetTextColour method. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/listctrl.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index b24b99daf0..b23125349f 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -362,6 +362,10 @@ bool wxListCtrl::Create(wxWindow *parent, // versions of _some_ messages (notably LVN_GETDISPINFOA) in MSLU build wxSetCCUnicodeFormat(GetHwnd()); + // We must set the default text colour to the system/theme color, otherwise + // GetTextColour will always return black + SetTextColour(GetDefaultAttributes().colFg); + // for comctl32.dll v 4.70+ we want to have some non default extended // styles because it's prettier (and also because wxGTK does it like this) if ( InReportView() && wxApp::GetComCtl32Version() >= 470 ) @@ -1115,9 +1119,9 @@ int wxListCtrl::GetSelectedItemCount() const // Gets the text colour of the listview wxColour wxListCtrl::GetTextColour() const { - // Use GetDefaultAttributes instead of ListView_GetTextColor because - // the latter seems to return black all the time (instead of the theme color) - return GetDefaultAttributes().colFg; + COLORREF ref = ListView_GetTextColor(GetHwnd()); + wxColour col(GetRValue(ref), GetGValue(ref), GetBValue(ref)); + return col; } // Sets the text colour of the listview -- 2.45.2