Список рисования владельца 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=...} - оценка была прервана из-за возникновения необработанного исключения.

Почему указатель отличается?

Для воспроизведения этой проблемы не нужен свиток, выбор тоже.

Любые яркие искры могут сказать мне, что искать?

0 ответов

Другие вопросы по тегам