Функция CreatePopupMenu

Declare Function CreatePopupMenu Lib "user32" () As Long

CreatePopupMenu создает новое всплывающее меню. Данное меню создается пустым. Для добавления пунктов в меню используйте функции InsertMenuItem, InsertMenu, AppendMenu. Если ваша программа больше не нуждается в созданном меню, то удалите его функцией DestroyMenu

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

В успешном случае функция возвращает описатель созданного всплывающего меню. В случае ошибки возвращается 0 (используйте GetLastError для получения кода ошибки).

Параметры

Функция не имеет параметров

Пример

' Добавим глобальную переменную
Dim hMenu As Long

Private Sub Form_Load()
   
' Создадим пустое меню
hMenu = CreatePopupMenu()
' Добавим новые пункты к меню
AppendMenu hMenu, MF_STRING, ByVal 0&, "Русский_Проект"
AppendMenu hMenu, MF_GRAYED Or MF_DISABLED, ByVal 0&, "Visual Basic"
AppendMenu hMenu, MF_SEPARATOR, ByVal 0&, ByVal 0&
AppendMenu hMenu, MF_CHECKED, ByVal 0&, "Я люблю тебя!"
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim Pt As POINTAPI
' Получем координаты курсора
GetCursorPos Pt
If Button = 1 Then
' Показываем наше созданное меню
      TrackPopupMenu hMenu, TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&
Else
' Показываем системное меню формы
      TrackPopupMenu GetSystemMenu(Me.hwnd, False), TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
' Уничтожаем наше меню
DestroyMenu hMenu
End Sub

Смотри также

AppendMenu, CreateMenu, DestroyMenu, InsertMenu, InsertMenuItem

Категория

Меню