WM_SYSCOMMAND

Окно получает это сообщение, когда пользователь выбирает команду из меню окно (ранее известный как меню системы или элемента управления) или когда пользователь выбирает кнопку Развернуть, кнопка свертывания, восстановить кнопку или кнопка закрытия.

WM_SYSCOMMAND uCmdType = wParam;        / / Тип команды системы просил xPos = LOWORD(lParam);    / / горизонтальное положение на экране координирует yPos = HIWORD(lParam);    / / координирует вертикальное положение на экране 
 

Параметры

uCmdType
Указывает тип команды системы просили. Этот параметр может принимать одно из следующих значений.
Значение Значение
SC_CLOSE Закрывает окно.
SC_CONTEXTHELP Изменяет курсор на знак вопроса с указателем. Если пользователь нажимает элемент управления в диалоговом окне, элемент управления получает сообщение WM_HELP.
SC_DEFAULT Выбирает элемент по умолчанию; пользователь двойном меню окна.
SC_HOTKEY Активирует окно, связанное с приложением горячей клавиши. Младшее слово lParam определяет окно для активации.
SC_HSCROLL Прокручивает по горизонтали.
SC_KEYMENU Извлекает меню окна из комбинация клавиш.
SC_MAXIMIZE Разворачивает окно.
SC_MINIMIZE Сворачивает окно.
SC_MONITORPOWERnbsp; & nbsp; Задает состояние отображения. Эта команда поддерживает устройства, которые имеют функции экономии энергии, такие как battery-powered персональный компьютер.

lParam может иметь следующие значения:

1 означает, что экран будет низкой мощности.

2 означает, что отключение дисплея.

SC_MOUSEMENU Получает окно меню по щелчку мыши.
SC_MOVE Перемещает окно.
SC_NEXTWINDOW Переход к следующему окну.
SC_PREVWINDOW Переход в предыдущее окно.
SC_RESTORE Восстанавливает окно в его нормальное положение и размер.
SC_SCREENSAVE Выполняет экран заставки приложения, указанного в раздел [boot] системы.Ini-файл.
SC_SIZE Изменение размеров окна.
SC_TASKLIST Активирует меню " Пуск ".
SC_VSCROLL Прокручивает по вертикали.

xPos
Определяет горизонтальное положение курсора, в координатах экрана, если команда меню окно выбрать с помощью мыши. В противном случае параметр xPos не используется.
yPos
Указывает вертикальное положение курсора, в координатах экрана, если команда меню окно выбрать с помощью мыши. Этот параметр является –1, если команда выбирается с помощью системы ускоритель, или нуль, если с помощью mnenomic.

Возвращаемые значения

Приложение должно возвращать нуль, если она обрабатывает это сообщение.

Примечания

Функция DefWindowProc выполняет запрос меню окна для предопределенного действия, указанные в предыдущей таблице.

В WM_SYSCOMMAND сообщений четыре младшие биты uCmdType параметра используются внутренне системой. Для получения правильного результата при тестировании значение uCmdType, приложение должно объединить значение 0xFFF0 с uCmdType значением, используя побитовый оператор И.

Пункты меню в меню окна можно изменить с помощью GetSystemMenu, AppendMenu, InsertMenu, ModifyMenu, InsertMenuItemи SetMenuItem функций. Изменить меню окна приложения должны обрабатывать сообщения WM_SYSCOMMAND.

Приложение может осуществлять любые команды системы в любое время путем передачи сообщения WM_SYSCOMMAND DefWindowProc. WM_SYSCOMMAND сообщения не обрабатывается приложением должен быть передан DefWindowProc. Все команды значения добавлено приложение должно обрабатываться приложением и не могут быть переданы DefWindowProc.

Сочетания клавиш, которые определены для выбора пунктов меню окна переводятся на WM_SYSCOMMAND сообщений; все другие клавиши ускорителя преобразуются в сообщения WM_COMMAND.

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.

Родственные слова

Обзор ускорителями клавиатуры, сообщений ускоритель клавиатуры, Обзор управления питания, AppendMenu, DefWindowProc, GetSystemMenu, InsertMenu, ModifyMenu, WM_COMMAND

Index