| Предыдущий | Следующий |
| ERROR_WINDOW_NOT_DIALOG | ERROR_INVALID_COMBOBOX_MESSAGE |
ERROR_CONTROL_ID_NOT_FOUND
Не удаётся разрешить идентификатор элемента управления
Идентификаторы элементов управления — это целые числа относительно родителя, используемые для поиска дочерних окон и маршрутизации WM_COMMAND . В шаблонах диалогов они берутся из определения ресурса; для динамически создаваемых дочерних окон идентификатор передаётся в параметре hMenu функции CreateWindowEx.
Следовательно, ошибка указывает на связь между родителем и дочерним элементом. Элемент управления может отображаться на экране, но оставаться невидимым для поиска, выполненного в неправильном диалоге, относительно заново созданного родителя или в другом варианте ресурса.
Что проверить
- Журналируйте как родительский
HWND, так и числовой идентификатор элемента управления. - Проверьте загруженный ресурс диалога и условные варианты ресурсов.
- Для динамических элементов управления убедитесь, что при создании действительно был передан требуемый идентификатор.
- Не передавайте идентификатор команды или индекс элемента списка только потому, что его числовое значение выглядит похожим.
Это отличается от ERROR_LISTBOX_ID_NOT_FOUND, который относится именно к поиску в списке; общее состояние может быть связано с любым дочерним элементом управления.
Ссылки
- Microsoft: GetDlgItem
- Microsoft: CreateWindowEx
- Microsoft: рекомендации по программированию диалоговых окон
Нужно найти другой код? Найти другой код состояния или ошибки.
