]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/listctrl.cpp
Remove unnecessary IsRadioButton().
[wxWidgets.git] / src / msw / listctrl.cpp
index 6f22017cff8a0cdf5439b3ff3fdad7a62b66a45b..84eafb3d90bbc21c8a161080f0c4c2c203d43329 100644 (file)
@@ -279,7 +279,7 @@ wxEND_HANDLERS_TABLE()
 wxCONSTRUCTOR_5( wxListCtrl , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle )
 
 /*
- TODO : Expose more information of a list's layout etc. via appropriate objects (à la NotebookPageInfo)
+ TODO : Expose more information of a list's layout etc. via appropriate objects (a la NotebookPageInfo)
 */
 #else
 IMPLEMENT_DYNAMIC_CLASS(wxListCtrl, wxControl)
@@ -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();
         }
     }
 }
@@ -2821,8 +2832,10 @@ void wxListCtrl::OnPaint(wxPaintEvent& event)
 
             int numCols = GetColumnCount();
             int* indexArray = new int[numCols];
-            BOOL rv = ListView_GetColumnOrderArray( GetHwnd(), numCols, indexArray );
-            wxASSERT_MSG( rv == TRUE, _T("invalid column index array in OnPaint()") );
+            if ( !ListView_GetColumnOrderArray( GetHwnd(), numCols, indexArray) )
+            {
+                wxFAIL_MSG( _T("invalid column index array in OnPaint()") );
+            }
 
             int x = itemRect.GetX();
             for (int col = 0; col < numCols; col++)