set listview extended styles after switching to report view and not only when creating it (blind fix for bug 1874996)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-01-26 22:54:47 +00:00
parent ba8c878f95
commit 04d24675d3
2 changed files with 19 additions and 3 deletions

View File

@@ -338,9 +338,17 @@ bool wxListCtrl::Create(wxWindow *parent,
// GetTextColour will always return black
SetTextColour(GetDefaultAttributes().colFg);
if ( InReportView() )
MSWSetExListStyles();
return true;
}
void wxListCtrl::MSWSetExListStyles()
{
// 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 )
if ( wxApp::GetComCtl32Version() >= 470 )
{
::SendMessage
(
@@ -354,8 +362,6 @@ bool wxListCtrl::Create(wxWindow *parent,
LVS_EX_HEADERDRAGDROP
);
}
return true;
}
WXDWORD wxListCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const
@@ -454,6 +460,11 @@ void wxListCtrl::UpdateStyle()
if ( dwStyleOld != dwStyleNew )
{
::SetWindowLong(GetHwnd(), GWL_STYLE, dwStyleNew);
// if we switched to the report view, set the extended styles for
// it too
if ( !(dwStyleOld & LVS_REPORT) && (dwStyleNew & LVS_REPORT) )
MSWSetExListStyles();
}
}
}