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