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

 
Предыдущий Следующий
ERROR_CHILD_WINDOW_MENU ERROR_INVALID_MSGBOX_STYLE

ERROR_NO_SYSTEM_MENU

У окна нет системного меню

Системное меню — это меню окна, связанное с операциями верхнего уровня: перемещение, изменение размера, сворачивание, разворачивание и закрытие. Его наличие зависит от стиля и типа окна; это не универсальное меню, прикреплённое к каждому HWND.

Вспомогательная функция, вызывающая API системного меню для дочерних окон, служебных окон с иным оформлением или окон верхнего уровня без соответствующего стиля, может получить такое состояние. Добавлять пункты меню невозможно, пока у цели действительно нет системного меню.

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

  • Проверьте тип целевого окна и биты стиля, включая WS_SYSMENU.
  • Вызывайте API системного меню только для окон, в чьём неклиентском оформлении это меню предусмотрено.
  • Не путайте меню приложения, возвращаемое GetMenu , с системным меню.
  • При динамическом изменении стилей заново получайте дескриптор системного меню, а не кэшируйте его бессрочно.

Отсутствующая команда в существующем меню — другая проблема поиска; этот код сообщает, что у целевого окна вообще нет системного меню для операции.

Ссылки


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