Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT


Метод OnSysCommand (системное меню)


Разрабатывая приложение с помощью MFC AppWizard, мы указали, что оно должно иметь возможность отображения краткой справочной информации. Для этого в системное меню приложения была добавлена строка About.

Когда пользователь выбирает строки системного меню любого окна, в том числе и диалоговой панели, или нажимает кнопки максимизации и минимизации, в функцию данного окна поступает сообщение WM_SYSCOMMAND. Для обработки этого сообщения вызывается виртуальный метод OnSysCommand, определенный в классе CWnd.

afx_msg void OnSysCommand(UINT nID, LPARAM lParam);

Параметр nID содержит идентификатор строки системного меню, вызвавшего сообщение. Младшие четыре бита параметра nID используются операционной системой и могут принимать любые значения. Параметр nID (без учета четырех младших бит) может принимать одно из следующих значений.

Параметр nID

Описание

SC_CLOSE

Закрывает объект CWnd

SC_HOTKEY

Активизирует объект CWnd, связанный с комбинацией клавиш, определенной приложением. Младшее слово параметра lParam содержит идентификатор активизируемого окна

SC_HSCROLL

Свертка по горизонтали

SC_KEYMENU

Выбор из меню при помощи комбинации клавиш

SC_MAXIMIZE,

SC_ZOOM

Максимизировать объект CWnd

SC_MINIMIZE,

SC_ICON

Минимизировать объект CWnd

SC_MOUSEMENU

Выбор из меню при помощи мыши

SC_MOVE

Перемещение окна CWnd

SC_NEXTWINDOW

Переключение на следующее окно

SC_PREVWINDOW

Переключение на предыдущее окно

SC_RESTORE

Восстановление нормального расположения и размера окна

SC_SCREENSAVE

Запустить приложение, предохраняющее экран монитора, указанное в секции [boot] файла SYSTEM.INI

SC_SIZE

Изменить размер окна CWnd

SC_TASKLIST

Запустить или активизировать приложение Task Manager

SC_VSCROLL

Свертка по вертикали

Если строка системного меню выбрана с использованием мыши, параметр lParam содержит координаты курсора. Младшее слово определяет х-координату, а старшее y-координату.




Начало  Назад  Вперед



Книжный магазин