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

 
Предыдущий Следующий
ERROR_INVALID_COMBOBOX_MESSAGE ERROR_INVALID_EDIT_HEIGHT

ERROR_WINDOW_NOT_COMBOBOX

Целевое окно не является полем со списком

Сообщения поля со списком используют пространство имён CB_* и ожидают, что целью будет экземпляр класса элемента управления combo box. Обычное дочернее окно, поле редактирования или внутреннее дочернее окно combo box не удовлетворяют этому контракту.

Подмена оконной процедуры и обнаружение элементов управления часто вызывают путаницу. Поле со списком может содержать поле редактирования и часть со списком, однако приложения обычно должны отправлять сообщения combo собственному HWND. Кэширование внутреннего дочернего дескриптора с последующей обработкой его как внешнего элемента управления может привести к этому состоянию.

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

  • Проверьте имя класса и путь создания элемента управления для целевого дескриптора.
  • Используйте CB_GETCOMBOBOXINFO , когда коду действительно нужны внутренние дескрипторы поля редактирования и списка.
  • Отправляйте сообщения CB_* самому полю со списком, если только сообщение явно не предназначено дочернему окну.
  • Получайте дескрипторы заново после пересоздания или смены родителя элементов управления.

Для корректного combo box с неподдерживаемым сообщением, зависящим от стиля, вместо этого возвращается отдельное состояние ERROR_INVALID_COMBOBOX_MESSAGE .

Ссылки


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