#ifndef WX_PRECOMP
#include "wx/app.h"
- #include "wx/textctrl.h"
- #include "wx/imaglist.h"
#include "wx/intl.h"
#include "wx/log.h"
#include "wx/settings.h"
#endif
+#include "wx/textctrl.h"
+#include "wx/imaglist.h"
+
#include "wx/listctrl.h"
#include "wx/msw/private.h"
if ( !m_hWnd )
{
- wxLogError(_("Can't create list control window, check "
- "that comctl32.dll is installed."));
+ wxLogError(_("Can't create list control window, check that comctl32.dll is installed."));
return FALSE;
}
{
if ( ListView_DeleteColumn(GetHwnd(), 0) == 0 )
{
- wxLogLastError("ListView_DeleteColumn");
+ wxLogLastError(wxT("ListView_DeleteColumn"));
return FALSE;
}
findInfo.flags = LVFI_STRING;
if ( partial )
- findInfo.flags |= LVFI_STRING;
- findInfo.psz = WXSTRINGCAST str;
+ findInfo.flags |= LVFI_PARTIAL;
+ findInfo.psz = str;
- return ListView_FindItem(GetHwnd(), (int) start, & findInfo);
+ // ListView_FindItem() excludes the first item from search and to look
+ // through all the items you need to start from -1 which is unnatural and
+ // inconsitent with the generic version - so we adjust the index
+ return ListView_FindItem(GetHwnd(), (int) start - 1, &findInfo);
}
// Find an item whose data matches this data, starting from the item after 'start'
event.m_code = wxCharCodeMSWToWX(wVKey);
}
- event.m_item.m_data = GetItemData(lItem);
+ if ( lItem != -1 )
+ {
+ // fill the other fields too
+ event.m_item.m_text = GetItemText(lItem);
+ event.m_item.m_data = GetItemData(lItem);
+ }
}
break;
eventType = wxEVT_COMMAND_LIST_ITEM_ACTIVATED;
event.m_itemIndex = nmLV->iItem;
+ event.m_item.m_text = GetItemText(nmLV->iItem);
event.m_item.m_data = GetItemData(nmLV->iItem);
break;