User:Unsane/MirLua/m genmenu

From Miranda NG
Jump to navigation Jump to search

Предоставляет доступ к подсистеме меню.
Подключение модуля: local genmenu = require('m_genmenu')

Константы

MO_MAIN

Главное меню

Тип: number

MO_CONTACT

Меню контакта

Тип: number

Функции

CreateRoot

Создает корневой пункт меню

Параметры
hMenuObject
Тип: number
Дескриптор глобального меню
name
Тип: string
Имя пункта меню
position
Тип: number
Позиция пункта меню
icon
Тип: light userdata
Дескриптор иконки
Результат
Тип: light userdata
Возвращает дескриптор пункта меню в случае успеха, иначе nil
Пример
local hMenuItem = genmenu.CreateRoot(genmenu.MO_MAIN)

AddMenuItem

Создает пункт меню

Параметры
hMenuObject
Тип: number
Дескриптор глобального меню
menuItem
Тип: table
Таблица MenuItem
Результат
Тип: light userdata
Возвращает дескриптор пункта меню в случае успеха, иначе nil
Пример
local hMenuItem = genmenu.AddMenuItem(genmenu.MO_MAIN, { Name = 'MyMenuItem'})

ModifyMenuItem

Изменяет пункт меню

Параметры
hMenuItem
Тип: light userdata
Дескриптор пункта меню
name
Тип: string
Новое имя меню или nil
icon
Тип: light userdata
Дескриптор иконки или INVALID_HANDLE_VALUE
flags
Тип: number
Дополнительные флаги или -1
Результат
Тип: light userdata
Возвращает дескриптор пункта меню в случае успеха, иначе nil
Пример
local hMenuItem = genmenu.CreateRoot(genmenu.MO_MAIN)

ShowMenuItem

Показывает/скрывает пункт меню

Параметры
hMenuItem
Тип: light userdata
Дескриптор пункта меню
isShown
Тип: boolean
true для отображения пункта меню, false для скрытия
Пример
genmenu.ShowMenuItem(hMenuItem, true)

EnableMenuItem

Включает/отключает пункт меню

Параметры
hMenuItem
Тип: light userdata
Дескриптор пункта меню
isEnabled
Тип: boolean
true для включения пункта меню, false для отключения
Пример
genmenu.EnableMenuItem(hMenuItem, false)

CheckMenuItem

Отмечает/снимает отметку с пункта меню

Параметры
hMenuItem
Тип: light userdata
Дескриптор пункта меню
isChecked
Тип: boolean
true для включения пункта меню, false для отключения
Пример
genmenu.CheckMenuItem(hMenuItem, true)

RemoveMenuItem

Удаляет пункт меню

Параметры
hMenuItem
Тип: light userdata
Дескриптор пункта меню
Результат
Тип: boolean
Возвращает true случае успеха, иначе false
Пример
genmenu.RemoveMenuItem(hMenuItem)


Структуры

MenuItem

Таблица, описывающая параметры меню

Поля
Name
Тип: string
Имя пункта меню (автоматически переводится ядром)
Uid
Тип: string
Uuid пункта меню в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Service
Тип: string
Имя сервиса
Position
Тип: number
Позиция пункта меню
Parent
Тип: light userdata
Дескриптор родительского меню
Icon
Тип: light userdata
Дескриптор иконки
Flags
Тип: number
Дополнительные флаги