TrackPopupMenuEx

Функция TrackPopupMenuEx выводит контекстное меню в заданном месте и отслеживает выбор элементов в контекстном меню. В контекстном меню может находиться в любом на экране.

(BOOL TrackPopupMenuEx HMENU ,  hmenu UINT  fuFlags,  int  x,  int  y,  HWND  hwnd,  LPTPMPARAMS  lptpm  );
 

Параметры

hmenu
Дескриптор в контекстном меню для отображения. Этот дескриптор может быть получено путем вызова функции CreatePopupMenu для создания нового контекстного меню или путем вызова функции GetSubMenu для получения дескриптора к подменю, связанный с элементом меню.
fuFlags
Позиционирование и другие варианты. Этот параметр, который может быть ноль или более значений, перечисленных с функцией TrackPopupMenu , могут также включать одно из следующих значений:
Значение Значение
TPM_HORIZONTAL Если меню не может быть в указанном месте без перекрытия исключенных прямоугольник, система пытается удовлетворить запрошенную выравнивания по горизонтали до запрашиваемого вертикальное выравнивание.
TPM_VERTICAL Если меню не может быть в указанном месте без перекрытия исключенных прямоугольник, система пытается удовлетворить запрошенную вертикальное выравнивание до запрашиваемого горизонтальное выравнивание.

Исключенные прямоугольник — это часть на экране меню не должны совпадать; Она определяется lptpm.

x
Горизонтальное расположение в контекстном меню в экранных координатах.
y
Вертикальное расположение в контекстном меню в экранных координатах.
hwnd
Дескриптор окна, которому принадлежит в контекстном меню. Это окно получает все сообщения из меню. Окно не получает сообщения WM_COMMAND от меню до тех пор, пока функция возвращает.

Если TPM_NONOTIFY указан в параметре fuFlags , функция не отправляет сообщения в окно, выявленным hwnd. Однако вы все равно должны пройти дескриптор окна hwnd. Это может быть любой дескриптор окна из вашего приложения.

lptpm
Указатель на структуру TPMPARAMS , которая определяет область экрана меню, не должны совпадать. Этот параметр может иметь значение NULL.

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

Если TPM_RETURNCMD указан в параметре fuFlags , возвращаемое значение является идентификатором элемента меню элемента, выбранного пользователем. Если пользователь отменяет меню без делать выбор, или если произошла ошибка, то возвращаемое значение равно нулю.

Если TPM_RETURNCMD не указан в параметре fuFlags , возвращаемое значение равно нулю, если функция успешно выполняется и нуль, если она не сможет. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Примечания

Windows CE: Windows CE не поддерживает следующие флаги для параметра uFlags

TPM_NONOTIFY

TPM_LEFTBUTTON

TPM_RIGHTBUTTON

TPM_HORIZONTAL

TPM_VERTICAL

Параметр lptpm должен иметь значение NULL.

QuickInfo

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

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

Меню Обзор функций меню, CreatePopupMenu, GetSubMenu, TPMPARAMS, TrackPopupMenu, WM_COMMAND

Index