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

 
Предыдущий Следующий
ERROR_DESTROY_OBJECT_OF_OTHER_THREAD ERROR_NO_SYSTEM_MENU

ERROR_CHILD_WINDOW_MENU

Дочерние окна не владеют меню через параметр создания

Параметр hMenu функции CreateWindowEx интерпретируется по-разному в зависимости от типа окна. Для перекрывающихся и всплывающих окон он задаёт меню. Для дочернего окна он задаёт идентификатор дочернего окна, используемый родителем и маршрутизацией команд в стиле диалоговых окон.

Обработка дочернего окна так, будто оно имеет меню верхнего уровня, смешивает эти два контракта. Исправление заключается не в другом приведении дескриптора меню; необходимо изменить иерархию окон или схему владения меню.

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

  • Проверьте, установлен ли WS_CHILD для создаваемого окна.
  • Для дочернего окна передавайте в параметре создания требуемый идентификатор элемента управления.
  • Назначайте меню подходящему окну верхнего уровня или реализуйте команды дочернего окна через его родителя.
  • Проверьте оболочки API, которые называют параметр просто menu и скрывают его значение идентификатора дочернего окна.

Этот результат тесно связан с ERROR_TLW_WITH_WSCHILD, но здесь конкретный конфликт относится к семантике меню дочернего окна.

Ссылки


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