X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6149de710aad76cb871473b7386b98d3ee5f33c1..7227cefd3b8a71e2d77e2c577ad05539585ba58b:/src/msw/listctrl.cpp diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index ecc6895b54..9ea8e389a1 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -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