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