]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/listctrl.cpp
fixed more printf() warnings
[wxWidgets.git] / src / msw / listctrl.cpp
index ecc6895b54129de0f76fac81722ccf5b1dd732f1..9ea8e389a189eb9e8e4276742658beb9608a4780 100644 (file)
@@ -579,6 +579,8 @@ bool wxListCtrl::GetColumn(int col, wxListItem& item) const
     LV_COLUMN lvCol;
     wxZeroMemory(lvCol);
 
+    lvCol.mask = LVCF_WIDTH;
+
     if ( item.m_mask & wxLIST_MASK_TEXT )
     {
         lvCol.mask |= LVCF_TEXT;
@@ -586,6 +588,16 @@ bool wxListCtrl::GetColumn(int col, wxListItem& item) const
         lvCol.cchTextMax = 512;
     }
 
+    if ( item.m_mask & wxLIST_MASK_FORMAT )
+    {
+        lvCol.mask |= LVCF_FMT;
+    }
+
+    if ( item.m_mask & wxLIST_MASK_IMAGE )
+    {
+        lvCol.mask |= LVCF_IMAGE;
+    }
+
     bool success = ListView_GetColumn(GetHwnd(), col, & lvCol) != 0;
 
     //  item.m_subItem = lvCol.iSubItem;
@@ -607,6 +619,13 @@ bool wxListCtrl::GetColumn(int col, wxListItem& item) const
             item.m_format = wxLIST_FORMAT_CENTRE;
     }
 
+#if _WIN32_IE >= 0x0300
+    if ( item.m_mask & wxLIST_MASK_IMAGE )
+    {
+        item.m_image = lvCol.iImage;
+    }
+#endif
+
     return success;
 }
 
@@ -1294,14 +1313,22 @@ long wxListCtrl::FindItem(long start, const wxString& str, bool partial)
 
 // Find an item whose data matches this data, starting from the item after 'start'
 // or the beginning if 'start' is -1.
+// NOTE : Lindsay Mathieson - 14-July-2002
+//        No longer use ListView_FindItem as the data attribute is now stored
+//        in a wxListItemInternalData structure refernced by the actual lParam
 long wxListCtrl::FindItem(long start, long data)
 {
-    LV_FINDINFO findInfo;
+    long  idx = start + 1;
+    long count = GetItemCount();
 
-    findInfo.flags = LVFI_PARAM;
-    findInfo.lParam = data;
+    while (idx < count)
+    {
+        if (GetItemData(idx) == data)
+            return idx;
+        idx++;
+    };
 
-    return ListView_FindItem(GetHwnd(), (int) start, & findInfo);
+    return -1;
 }
 
 // Find an item nearest this position in the specified direction, starting from