]> git.saurik.com Git - wxWidgets.git/commitdiff
generate EVT_HEADER_RESIZING events from HDN_ITEMCHANGING, not from HDN_TRACK which...
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 11 Dec 2008 18:57:03 +0000 (18:57 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 11 Dec 2008 18:57:03 +0000 (18:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/headerctrl.cpp

index 7336cba3b82331748234d432ca2ac829009da924..e8ef1b43202c5407705f5ad22bca01c8e05e35ea 100644 (file)
@@ -374,12 +374,6 @@ bool wxHeaderCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
             evtType = wxEVT_COMMAND_HEADER_BEGIN_RESIZE;
             // fall through
 
-        case HDN_TRACKA:
-        case HDN_TRACKW:
-            if ( evtType == wxEVT_NULL )
-                evtType = wxEVT_COMMAND_HEADER_RESIZING;
-            // fall through
-
         case HDN_ENDTRACKA:
         case HDN_ENDTRACKW:
             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) )
             {
                 // 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;
+                }
+                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;