Function Reference

TrayCreateItem

トレイ用のメニューアイテムコントロールを作成します。

TrayCreateItem ( text [, menuID [, menuentry [, menuradioitem]]] )

 

パラメータ

text コントロールのテキスト
menuID [オプション]指定したメニュー内にサブメニューを作成できます。-1にすると最後に作成したアイテムの'後ろ'に追加されます(デフォルト設定)。
menuentry [オプション] 作成時にエントリー番号を定義することができます。エントリー番号は0から始まります。-1にすると最後に作成したエントリーの'後ろ'に追加されます(デフォルト設定)。
menuradioitem [オプション] 0 (デフォルト) = 通常のメニューアイテム作成、 1 = ラジオメニューアイテム作成

 

返し値

成功 新しくできたトレイメニューアイテムの識別子(コントロールID)を返します。
失敗 0を返します。

 

注意

'text'パラメータに空文字列( "" )を指定するとセパレータラインを作成します。

デフォルトでは通常のチェックメニューアイテム(ラジオメニューアイテム以外)はクリックによって自動でチェックがはずされます!
この動作をオフにするにはTrayMenuModeで'2'を設定してください。

ラジオメニューアイテムは自動でグループ設定されます。グループはセパレートライン、ラジオアイテムで無い通常のアイテムで区切ることで定義します。
デフォルトではクリックしたラジオメニューアイテムが自動でチェックされ、同じグループの他の全てのラジオアイテムのチェックがはずされます!
この動作をオフにするにはTrayMenuModeで'8'を設定してください。

 

関連

TrayItemSetState, TrayItemSetText, TrayGetMsg, TrayItemDelete, TrayItemSetOnEvent

 


; ****************
; * 最初のサンプル *
; ****************

#NoTrayIcon

Opt("TrayMenuMode",1)   ; デフォルトのトレイメニューアイテム(スクリプト 停止/終了)を非表示

$prefsitem  = TrayCreateItem("Preferences")
TrayCreateItem("")
$aboutitem  = TrayCreateItem("About")
TrayCreateItem("")
$exititem   = TrayCreateItem("Exit")

TraySetState()

While 1
    $msg = TrayGetMsg()
    Select
        Case $msg = 0
            ContinueLoop
        Case $msg = $prefsitem
            Msgbox(64, "Preferences:", "OS:" & @OSVersion)
        Case $msg = $aboutitem
            Msgbox(64, "About:", "AutoIt3-Tray-sample.")
        Case $msg = $exititem
            ExitLoop
    EndSelect
WEnd

Exit


; *****************
; * 2番目の例     *
; *****************

#Include <Constants.au3>
#NoTrayIcon

Opt("TrayMenuMode",1)   ; デフォルトのトレイメニューアイテム(スクリプト 停止/終了)を非表示

; これから2つのラジオメニューアイテムグループを作成
$radio1 = TrayCreateItem("Radio1", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
$radio2 = TrayCreateItem("Radio2", -1, -1, 1)
$radio3 = TrayCreateItem("Radio3", -1, -1, 1)

TrayCreateItem("")  ; ラジオメニューアイテムグループはセパレートライン、他の通常メニューアイテムで区切る

$radio4 = TrayCreateItem("Radio4", -1, -1, 1)
$radio5 = TrayCreateItem("Radio5", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
$radio6 = TrayCreateItem("Radio6", -1, -1, 1)

TrayCreateItem("")

$aboutitem  = TrayCreateItem("About")
TrayCreateItem("")
$exititem   = TrayCreateItem("Exit")

TraySetState()

While 1
    $msg = TrayGetMsg()
    Select
        Case $msg = 0
            ContinueLoop
        Case $msg = $aboutitem
            Msgbox(64, "About:", "AutoIt3-Tray-sample with radio menuitem groups.")
        Case $msg = $exititem
            ExitLoop
    EndSelect
WEnd

Exit