Операционная система Microsoft Windows 3.1 для программиста -том 3


Плавающее меню - часть 2


BOOL WINAPI TrackPopupMenu(HMENU hmenu, UINT fuFlags, int x, int y, int nReserved, HWND hwnd, const RECT FAR* lprc);

Параметр hmenu должен содержать идентификатор отображаемого временного меню. Вы можете создать новое меню при помощи функции CreatePopupMenu или получить идентификатор существующего временного меню, вызвав функцию GetSubMenu.

Параметр fuFlags определяет расположение плавающего меню и клавиши мыши, с помощью которых должен выполняться выбор.

Для определения расположения меню вы можете указать один из трех флагов:

Флаг Описание
TPM_CENTERALIGN Центровка относительно координаты, заданной параметром x
TPM_LEFTALIGN Выравнивание по левой границе относительно координаты, заданной параметром x
TPM_RIGHTALIGN Выравнивание по правой границе относительно координаты, заданной параметром x

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

Флаг Описание
TPM_LEFTBUTTON Левая клавиша мыши
TPM_RIGHTBUTTON Правая клавиша мыши

Параметр nReserved зарезервирован, для совместимости со следующими версиями операционной системы Windows его значение должно быть равно 0.

Параметр hwnd задает идентификатор окна, которое получит сообщение WM_COMMAND после того как пользователь сделает выбор из плавающего меню. В операционной системе Windows версии 3.1 это сообщение попадает в функцию указанного окна после того как функция TrackPopupMenu возвратит управление. В версии 3.0 сообщение WM_COMMAND попадало в функцию окна до возврата управления функцией TrackPopupMenu.

Параметр lprc является указателем на структуру типа RECT, определяющую координаты прямоугольной области, в которой пользователь может выполнять выбор из меню. Если сделать щелчок мышью за пределами этой области, плавающее меню исчезнет с экрана. Такие действия эквивалентны отказу от выбора. Если задать для этого параметра значение NULL, размеры и расположение указанной выше прямоугольной области будут совпадать с размерами плавающего меню.




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



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