DisplayPopupMenu

Menu ››
Parent Previous Next

DisplayPopupMenu

Синтаксис

sub DisplayPopupMenu(ByVal menu As HMENU, ByVal Xpos As long=FB_IGNORE, ByVal Ypos As long=FB_IGNORE, ByVal hwnd As hwnd = Cast(hwnd,1),ByVal flag As long=TPM_VERTICAL)

Описание

Создает всплывающее меню.

Параметры

menu - Хендл меню

Xpos - позиция по оси X (по умолчанию глобальная позиция мыши)

Ypos - позиция по оси Y (по умолчанию глобальная позиция мыши)

hwnd - Окно за которым должно быть закреплено меню (по умолчанию родительское окно меню) .
В Linux если параметр hwnd равен хендлу SysTray , то для меню автоматически рассчитываются координаты рядом с SysTray.

flag - флаг, может быть:
TPM_HORIZONTAL - Если меню нельзя вывести на экран в заданном месте, не перекрывая исключенный прямоугольник, система пробует разместить затребованное горизонтальное выравнивание перед затребованным выравниванием по вертикали.
TPM_VERTICAL - Если меню нельзя вывести на экран в заданном месте, не перекрывая исключенный прямоугольник, система пробует разместить затребованное выравнивание по вертикали перед затребованным горизонтальным выравниванием.
TPM_CENTERALIGN - Выравнивает по центру меню горизонтально относительно координаты, определенной x.
TPM_LEFTALIGN - Устанавливает меню так, чтобы левая сторона присоединилась к координате, определенной x.
TPM_RIGHTALIGN - Устанавливает меню так, чтобы правая сторона присоединилась к координате, определенной x.
TPM_BOTTOMALIGN - Если этот флажок установлен, функция располагает контекстное меню так, чтобы его нижняя сторона выровнялась по координате, заданной параметром y.
TPM_TOPALIGN - Если этот флажок установлен, функция располагает контекстное меню так, чтобы его верхняя сторона выровнялась по координате, заданной параметром y.
TPM_VCENTERALIGN - Если этот флажок установлен, функция выравнивает по центру вертикали контекстное меню, относительно координаты, заданной параметром y.
TPM_NONOTIFY - Если этот флажок установлен, функция не отправляет уведомительные сообщения, когда пользователь щелкает кнопкой мыши по пункту меню.
TPM_RETURNCMD - Если этот флажок установлен, функция возвращает значение идентификатора пункта меню, выбранного пользователем.
TPM_HORNEGANIMATION - Анимирует меню справа налево.
TPM_HORPOSANIMATION - Анимирует меню слева направо.
TPM_NOANIMATION - Показывает меню без анимации.
TPM_VERNEGANIMATION - Анимирует меню снизу вверх.
TPM_VERPOSANIMATION - Анимирует меню сверху вниз .

Платформы

Windows , Linux

Пример

#Include "window9.bi"
Dim As HMENU hMessages
Dim As Integer event
OpenWindow("",10,10,400,400)
hMessages=CreatePopMenu()
MenuItem(1001,hMessages,"1 меню")
MenuItem(1002,hMessages,"2 меню")
Do
  event=WaitEvent
  If event=EventMenu then
     Select case EventNumber
        Case 1001
           MessBox("","1 меню")
        Case 1002
           MessBox("","2 меню")
     End Select
  ElseIf event=eventrbdown Then
     DisplayPopupMenu(hMessages, GlobalMouseX,GlobalMouseY)
  EndIf
  If event=EventClose Then End
Loop

Результат

Created with the Personal Edition of HelpNDoc: Full featured EPub generator