Функция TraySetOnEvent

         Описание функции


TraySetOnEvent

Назначает пользовательскую функцию, для специальных событиях трея.

TraySetOnEvent ( specialID, "function" )

Параметры

specialID Смотрите Таблица специальных ID ниже.
function Имя вызываемой пользовательской функции.

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

Успех:Возвращает 1.
Ошибка:Возвращает 0.
@error:1, если "функция" не определена.

Примечания

Функции OnEvent вызываются только при включенной опции TrayOnEventMode установленной в 1, при использовании этого режима TrayGetMsg() не используется.


    Таблица специальных ID
Специальный IdЗначениеОписание
$TRAY_EVENT_SHOWICON-3Показана иконка трея.
$TRAY_EVENT_HIDEICON-4Скрыта иконка трея.
$TRAY_EVENT_FLASHICON-5Мигание иконки трее.
$TRAY_EVENT_NOFLASHICON-6Мигание иконки остановлено.
$TRAY_EVENT_PRIMARYDOWN-7Первичная кнопка мыши была нажата на иконке в трее.
$TRAY_EVENT_PRIMARYUP-8Первичная кнопка мыши была отпущена на иконке в трее.
$TRAY_EVENT_SECONDARYDOWN-9Вторичная кнопка мыши была нажата на иконке в трее.
$TRAY_EVENT_SECONDARYUP-10Вторичная кнопка мыши была отпущена на иконке в трее.
$TRAY_EVENT_MOUSEOVER-11Перемещение мыши над иконкой трея.
$TRAY_EVENT_PRIMARYDOUBLE-13Двойной клик первичной кнопкой мыши на иконке в трее.
$TRAY_EVENT_SECONDARYDOUBLE-14Двойной клик вторичной кнопкой мыши на иконке в трее.

Если вместо имени функции указана пустая строка "" , то предыдущая функция становится отключенной от элемента управления.

Выше указанные константы определены в #include <Constants.au3>

См. также

TrayOnEventMode (Опция), TrayItemSetOnEvent, TraySetClick

Пример

#NoTrayIcon
#include <Constants.au3> ; Необходим для констант $TRAY_EVENT_PRIMARYDOUBLE и $TRAY_EVENT_SECONDARYUP.

Opt("TrayMenuMode", 1 + 2) ; Не отображать в трее пункты меню по умолчанию (Script Paused/Exit) и не отмечать галочками при выборе.
Opt("TrayOnEventMode", 1)

Example()

Func Example()
    TrayCreateItem("Выход")
    TrayItemSetOnEvent(-1, "ExitScript")

    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayEvent")
    TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayEvent")

    TraySetState(1) ; Показывает меню трея
    TraySetClick(16) ; Меню вызывается отпуском вторичной кнопки мыши

    While 1
        Sleep(100) ; бездействующий цикл
    WEnd
EndFunc

Func TrayEvent()
    Switch @TRAY_ID
        Case $TRAY_EVENT_PRIMARYDOUBLE
            MsgBox(64, "Специальное событие", "Двойной клик первичной кнопкой мыши.")
        Case $TRAY_EVENT_SECONDARYUP
            MsgBox(64, "Специальное событие", "Двойной клик вторичной кнопкой мыши.")
    EndSwitch
EndFunc

Func ExitScript()
    Exit
EndFunc