Список рисования владельца MFC - GetItemDataPtr возвращает мусор
Итак, я извлек свой список из CListbox, установив стиль ресурса так, чтобы он был похож на демонстрационный проект, который я получил (HASSTRINGS, OWNERDRAW - VARIABLE, NO SORT).
Список заполняется, рисует ОК, операторы TRACE дают мне значение указателя для каждого нарисованного элемента.
Пока я не прокручиваю.
Перед прокруткой элемент в нижней части видимого списка отслеживается как (20 - это lpDrawItemStruct-> itemID)
MyClass::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) ...
20 - 0x036f3d90 {m_Event = {size = 658} m_ListName =...
Первое событие DrawItem, которое я обрабатываю после прокрутки
20 - 0x0127d248 {m_Event={ size=1073736252 } m_ListName= m_ImageName=...} - оценка была прервана из-за возникновения необработанного исключения.
Почему указатель отличается?
Для воспроизведения этой проблемы не нужен свиток, выбор тоже.
Любые яркие искры могут сказать мне, что искать?