Что означает код ошибки Windows 1433 (ERROR_SETCOUNT_ON_BAD_LB)?

 
Предыдущий Следующий
ERROR_INVALID_LB_MESSAGE ERROR_LB_WITHOUT_TABSTOPS

ERROR_SETCOUNT_ON_BAD_LB

Для LB_SETCOUNT требуется список с LBS_NODATA

LB_SETCOUNT задаёт число элементов списка, созданного со стилем LBS_NODATA . Такой элемент управления используется для очень больших наборов элементов, когда список не хранит обычные строки для каждого элемента.

Отправка этого сообщения обычному списку означает несоответствие между моделью хранения, выбранной при создании элемента, и сообщением, используемым позднее. Одного добавления LBS_OWNERDRAWFIXED недостаточно; в документации Microsoft соответствующим требованием указан LBS_NODATA .

Что проверить

  • Проверьте стиль списка в ресурсе или вызове CreateWindowEx .
  • Для списков, хранящих данные, используйте обычное заполнение через LB_ADDSTRING/LB_INSERTSTRING .
  • Для очень больших виртуальных списков создайте элемент со стилем LBS_NODATA и правильно реализуйте получение данных при отрисовке владельцем.
  • Не используйте LB_SETCOUNT не следует использовать лишь как сокращённый способ предварительно выделить обычные элементы.

Сбой вызван не выходом числа элементов за диапазон; сам тип списка не поддерживает это сообщение.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.