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
|
// process NM_CUSTOMDRAW notification message
|
||||||
WXLPARAM OnCustomDraw(WXLPARAM lParam);
|
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_DYNAMIC_CLASS(wxListCtrl)
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
DECLARE_NO_COPY_CLASS(wxListCtrl)
|
DECLARE_NO_COPY_CLASS(wxListCtrl)
|
||||||
|
@@ -338,9 +338,17 @@ bool wxListCtrl::Create(wxWindow *parent,
|
|||||||
// GetTextColour will always return black
|
// GetTextColour will always return black
|
||||||
SetTextColour(GetDefaultAttributes().colFg);
|
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
|
// 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)
|
// styles because it's prettier (and also because wxGTK does it like this)
|
||||||
if ( InReportView() && wxApp::GetComCtl32Version() >= 470 )
|
if ( wxApp::GetComCtl32Version() >= 470 )
|
||||||
{
|
{
|
||||||
::SendMessage
|
::SendMessage
|
||||||
(
|
(
|
||||||
@@ -354,8 +362,6 @@ bool wxListCtrl::Create(wxWindow *parent,
|
|||||||
LVS_EX_HEADERDRAGDROP
|
LVS_EX_HEADERDRAGDROP
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WXDWORD wxListCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const
|
WXDWORD wxListCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const
|
||||||
@@ -454,6 +460,11 @@ void wxListCtrl::UpdateStyle()
|
|||||||
if ( dwStyleOld != dwStyleNew )
|
if ( dwStyleOld != dwStyleNew )
|
||||||
{
|
{
|
||||||
::SetWindowLong(GetHwnd(), GWL_STYLE, 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