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:
@@ -442,6 +442,11 @@ private:
|
||||
// process NM_CUSTOMDRAW notification message
|
||||
WXLPARAM OnCustomDraw(WXLPARAM lParam);
|
||||
|
||||
// set the extended styles for the control (used by Create() and
|
||||
// UpdateStyle()), only should be called if InReportView()
|
||||
void MSWSetExListStyles();
|
||||
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxListCtrl)
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_NO_COPY_CLASS(wxListCtrl)
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user