コンテンツにスキップ

MenuItem

このクラスは複数のプラグインから拡張されています。

メンバー一覧

コンストラクタ

プロパティ

メソッド


コンストラクタ

引数

引数 既定値 説明
window Window   このメニュー項目を作成するウィンドウを指定します。
caption string "" メニュー項目のキャプション (表示する文字列) を指定します。
MenuItem.caption プロパティで設定/取得できます。

解説

MenuItem オブジェクトの構築

MenuItem クラスのオブジェクトを構築します。 作成したメニュー項目を親メニュー項目に追加するには、親メニュー項目の MenuItem.add メソッドを使います。


HMENU

プロパティ \ アクセス: r

解説

HMENUメニュー項目ハンドル

Windows APIにおけるHMENU型のメニュー項目ハンドルを表します。 このプロパティはプラグインなどでメニュー項目に直接アクセスしたいときに用います。 TJS2からのアクセスは意味がありません。 ここで得られるのは整数ですが、プラグインなどでこの数値を使う場合は HMENU 型に キャストして使ってください。


caption

プロパティ \ アクセス: r/w

解説

キャプション

キャプション ( 表示する文字列 ) を表します。値を設定することもできます。 '-' ( ハイフン ) を指定すると区切り線を表示するようになります。


checked

プロパティ \ アクセス: r/w

解説

チェックマークを表示するかどうか

メニュー項目の横にチェックマークを表示するかどうかを表します。値を設定することもできます。 真を指定するとチェックマークが表示されます。 MenuItem.radio プロパティが真の場合は、チェックマークではなく、黒い丸が表示されます。 MenuItem.group にて同じグループ番号を持ち、かつ同じ親を持ち、さらに MenuItem.radio プロパティが真のメニュー項目は、 このプロパティを同時に二つ以上を 真にすることはできません。他のメニュー項目のこのプロパティが真になった場合、 他に真になっているメニュー項目があれば、自動的にそのメニュー項目のこのプロパティは偽に 設定されます。


children

プロパティ \ アクセス: r

解説

子メニュー項目

子メニュー項目がリストされた配列オブジェクトを表します。 ここで得られた配列に値を書き込んだり、項目の削除や追加などをしても実際のメニュー項目の状態には反映されません。読み取りのみが行えると考えてください。


enabled

プロパティ \ アクセス: r/w

解説

選択可能かどうか

メニュー項目を選択可能かどうかを表します。値を設定することもできます。 真の場合はメニュー項目が選択可能、偽の場合は選択不可能になります。


group

プロパティ \ アクセス: r/w

解説

グループ番号

グループ番号を表します。値を設定することもできます。 同じグループ番号を持ち、かつ同じ親を持ち、MenuItem.radio プロパティが 真のメニュー項目は、MenuItem.checked プロパティを同時に二つ以上を 真にすることはできません。


index

プロパティ \ アクセス: r/w

解説

順番

同じ親を持つメニュー項目間における順番を表す、0または正の整数です。 0が先頭を表します。 現在位置を取得したり、位置を変更するときに便利です。 値を設定すると、その位置にメニュー項目が移動します。


parent

プロパティ \ アクセス: r

解説

親メニュー項目

親メニュー項目を表します。


radio

プロパティ \ アクセス: r/w

解説

ラジオ項目かどうか

ラジオ項目かどうかを指定します。値を設定することもできます。 この項目が真の場合の動作については MenuItem.checked プロパティを 参照してください。


root

プロパティ \ アクセス: r

解説

ルートメニュー項目

ルート(大本)のメニュー項目(MenuItemクラスのインスタンス)を表します。


shortcut

プロパティ \ アクセス: r/w

解説

ショートカットキー

ショートカットキーを表します。値を設定することもできます。 ショートカットキーは文字列で指定します。「シフト系キー+対象キー名」の組み合わせで 指定します。大文字と小文字は区別されません。以下は有効なショートカットキーの例です。

"Shift+Esc" "Ctrl+S" "Shift+Alt+E" "Alt+Enter" "Ctrl+F1" "T" (シフト系キーの指定をしないこともできます)

無効なショートカットキーの組み合わせや、"" (空文字列) を指定するとショートカットキーは無効になります。 現バージョンでは、Tab や Shift+F1 など、システムや吉里吉里であらかじめ用途の決まっているキーの一部や、一部のキー (Shiftキーそのものなど)を指定しても反応しません。 ショートカットキーを指定すると、そのキーに対応する onKeyDown 等のイベントは発生しなくなり、ショートカットキーを 指定したメニュー項目にのみイベントが発生するようになります。


visible

プロパティ \ アクセス: r/w

解説

可視かどうか

メニュー項目が可視かどうかを表します。値を設定することもできます。 真ならば表示され、偽ならば非表示です。


window

プロパティ \ アクセス: r

解説

オーナーウィンドウ

このメニューアイテムを保持するオーナーウィンドウ(Windowクラスのオブジェクト)を表します。


add

メソッド

引数

引数 既定値 説明
item MenuItem   追加する子メニュー項目を指定します。
子メニュー項目は、すでに子となっているメニュー項目の最後に追加されます。

解説

子メニュー項目の追加

子メニュー項目を追加します。 メニュー項目が他のメニュー項目の子になると、 親メニュー項目が無効化されるときに自動的に子メニュー項目も無効化されるようになります。 また、メニュー階層においても親子の関係を持つようになります。


insert

メソッド

引数

引数 既定値 説明
item MenuItem   挿入する子メニュー項目を指定します。
index int   挿入する位置を指定します。0 を指定すると先頭に挿入されます。

解説

子メニュー項目の挿入

子メニュー項目を指定位置に挿入します。


メソッド

引数

引数 既定値 説明
flags int   メニューの挙動を表すフラグです。以下の値のビット論理和を指定してください。
tpmLeftButton
tpmRightButton
tpmLeftAlign
tpmCenterAlign
tpmRightAlign
tpmTopAlign
tpmVCenterAlign
tpmBottomAlign
tpmHorizontal
tpmVertical
tpmNoNotify
tpmReturnCmd
tpmRecurse
tpmHorPosAnimation
tpmHorNegAnimation
tpmVerPosAnimation
tpmVerNegAnimation
tpmNoAnimation
これらのフラグの詳細についてはMSDNの該当ページを参照してください。
x int   ウィンドウのクライアント座標上でのx位置を表します。
y int   ウィンドウのクライアント座標上でのy位置を表します。

戻り値

flagsにtpmReturnCmdが指定されていた場合は、 選択されたメニュー項目のIDを整数で返します(ただし、現バージョンではこのIDを吉里吉里側から設定することができないため、flagsにtpmReturnCmdを指定することは意味がありません)。 何も選択されずにキャンセルされた場合は0を返します。

解説

メニュー項目のポップアップ表示

メニュー項目をポップアップ表示します。このメソッドは、メニューが閉じられるまで帰ってきません。 メニューが閉じられるまでの間に他の非同期イベントが発生する可能性があるので注意してください。 Window.menuそのものはポップアップできません。 非表示状態のメニュー項目はポップアップできません。 Window.menuの子でないメニューはポップアップできません。


remove

メソッド

引数

引数 既定値 説明
item MenuItem   削除する子メニュー項目を指定します。

解説

子メニュー項目の削除

指定された子メニュー項目をリストから削除します。


onClick

メソッド

解説

メニュー項目が選択された

メニュー項目が選択された ( クリックされたり Enter キーが押された ) 時に発生します。


プラグイン拡張: windowEx

MenuItem拡張

メンバー一覧

プロパティ

メソッド

定数


rightJustify

プロパティ \ アクセス: r/w

解説

メニューバーの右端分け表示

true ならその Item 以降は右端に寄せられる ※ Window.menu 直下で visible でない正しく動作しない


bmpChecked

プロパティ \ アクセス: r/w

解説

アイコンの表示

設定内容は MenuItem.bi* 定数を使用するか,レイヤオブジェクトを渡す ※ 値を設定する時点で Window.menu の子で visible でないと機能しないので注意 また,プルダウンメニューは,Window.registerExEvent()をして拡張イベントを登録しないと表示されないので注意 property bmpItem { getter; setter }; //< 文字列位置アイコン(チェック/未チェックアイコンの同時指定不可?) チェック時アイコン (0でデフォルト)


bmpUnchecked

プロパティ \ アクセス: r/w

解説

未チェック時アイコン (0でデフォルト)


popupEx

メソッド

引数

引数 既定値 説明
flags &nbsp;
x cursorX
y cursorY
hwnd this.root.window オーナウィンドウ(省略時インスタンス所属ウィンドウ)
rect &nbsp; オーバーラップ禁止範囲(%[ x, y, w, h ],省略時禁止範囲無し)
menulist this.children メニュー一覧配列(MenuItemのインスタンスである必要はなく,辞書を並べても良い)

戻り値

選択されたオブジェクト

解説

ポップアップ表示

MenuItem.popupのようにウィンドウメニュー所属である必要はなく,また一覧も辞書の配列を渡すなどができる この関数によるポップアップでのbmp*プロパティによるアイコン表示はされないので注意


biSystem

定数

解説

HBMMENU_SYSTEM


biRestore

定数

解説

HBMMENU_MBAR_RESTORE


biMinimize

定数

解説

HBMMENU_MBAR_MINIMIZE


biClose

定数

解説

HBMMENU_MBAR_CLOSE


biCloseDisabled

定数

解説

HBMMENU_MBAR_CLOSE_D


biMinimizeDisabled

定数

解説

HBMMENU_MBAR_MINIMIZE_D


biPopupClose

定数

解説

HBMMENU_POPUP_CLOSE


biPopupRestore

定数

解説

HBMMENU_POPUP_RESTORE


biPopupMaximize

定数

解説

HBMMENU_POPUP_MAXIMIZE


biPopupMinimize

定数

解説

HBMMENU_POPUP_MINIMIZE