generate EVT_HEADER_RESIZING events from HDN_ITEMCHANGING, not from HDN_TRACK which we don't seem to be getting at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -374,12 +374,6 @@ bool wxHeaderCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
|||||||
evtType = wxEVT_COMMAND_HEADER_BEGIN_RESIZE;
|
evtType = wxEVT_COMMAND_HEADER_BEGIN_RESIZE;
|
||||||
// fall through
|
// fall through
|
||||||
|
|
||||||
case HDN_TRACKA:
|
|
||||||
case HDN_TRACKW:
|
|
||||||
if ( evtType == wxEVT_NULL )
|
|
||||||
evtType = wxEVT_COMMAND_HEADER_RESIZING;
|
|
||||||
// fall through
|
|
||||||
|
|
||||||
case HDN_ENDTRACKA:
|
case HDN_ENDTRACKA:
|
||||||
case HDN_ENDTRACKW:
|
case HDN_ENDTRACKW:
|
||||||
width = nmhdr->pitem->cxy;
|
width = nmhdr->pitem->cxy;
|
||||||
@@ -399,8 +393,20 @@ bool wxHeaderCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
|||||||
if ( nmhdr->pitem && (nmhdr->pitem->mask & HDI_WIDTH) )
|
if ( nmhdr->pitem && (nmhdr->pitem->mask & HDI_WIDTH) )
|
||||||
{
|
{
|
||||||
// prevent the column from being shrunk beneath its min width
|
// prevent the column from being shrunk beneath its min width
|
||||||
if ( nmhdr->pitem->cxy < GetColumn(idx).GetMinWidth() )
|
width = nmhdr->pitem->cxy;
|
||||||
|
if ( width < GetColumn(idx).GetMinWidth() )
|
||||||
|
{
|
||||||
|
// don't generate any events and prevent the change from
|
||||||
|
// happening
|
||||||
veto = true;
|
veto = true;
|
||||||
|
}
|
||||||
|
else // width is acceptable
|
||||||
|
{
|
||||||
|
// generate the resizing event from here as we don't seem
|
||||||
|
// to be getting HDN_TRACK events at all, at least with
|
||||||
|
// comctl32.dll v6
|
||||||
|
evtType = wxEVT_COMMAND_HEADER_RESIZING;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user