<?xml version="1.0" encoding="Shift_JIS" ?>
<doc>
<title>MenuItem</title>
<desc>
　MenuItem クラスは、<kw>メニュー項目</kw>を管理するためのクラスです。<r/>
　ウィンドウのメニューバーにメニュー項目を並べたい場合は、<ref>Window.menu</ref> プロパティの
子としてメニュー項目を追加します。<r/>
</desc>

<member>
	<name>MenuItem</name>
	<type>constructor</type>
	<shortdesc>MenuItem オブジェクトの構築</shortdesc>
	<arg>
		<argitem>
			<name>window</name>
			<default></default>
			<desc>
				　このメニュー項目を作成するウィンドウを指定します。<r/>
			</desc>
		</argitem>
		<argitem>
			<name>caption</name>
			<default>''</default>
			<desc>
				　メニュー項目のキャプション (表示する文字列) を指定します。<r/>
				　<ref>MenuItem.caption</ref> プロパティで設定/取得できます。<r/>
			</desc>
		</argitem>
	</arg>
	<result></result>
	<desc>
		　MenuItem クラスのオブジェクトを構築します。<r/>
		　作成したメニュー項目を親メニュー項目に追加するには、親メニュー項目の
		<ref>MenuItem.add</ref> メソッドを使います。<r/>
	</desc>
</member>


<member>
	<name>onClick</name>
	<type>event</type>
	<shortdesc>メニュー項目が選択された</shortdesc>
	<arg>
	</arg>
	<result></result>
	<desc>
		　メニュー項目が選択された ( クリックされたり Enter キーが押された ) 時に発生します。<r/>
	</desc>
</member>


<member>
	<name>add</name>
	<type>method</type>
	<shortdesc>子メニュー項目の追加</shortdesc>
	<arg>
		<argitem>
			<name>item</name>
			<default></default>
			<desc>
				　追加する子メニュー項目を指定します。<r/>
				　子メニュー項目は、すでに子となっているメニュー項目の最後に追加されます。
			</desc>
		</argitem>
	</arg>
	<result></result>
	<desc>
		　子メニュー項目を追加します。メニュー項目が他のメニュー項目の子になると、
		親メニュー項目が無効化されるときに自動的に子メニュー項目も無効化されるようになります。<r/>
		　また、メニュー階層においても親子の関係を持つようになります。<r/>
	</desc>
</member>

<member>
	<name>insert</name>
	<type>method</type>
	<shortdesc>子メニュー項目の挿入</shortdesc>
	<arg>
		<argitem>
			<name>item</name>
			<default></default>
			<desc>
				　挿入する子メニュー項目を指定します。<r/>
			</desc>
		</argitem>
		<argitem>
			<name>index</name>
			<default></default>
			<desc>
				　挿入する位置を指定します。0 を指定すると先頭に挿入されます。<r/>
			</desc>
		</argitem>
	</arg>
	<result></result>
	<desc>
		　子メニュー項目を指定位置に挿入します。<r/>
	</desc>
</member>

<member>
	<name>remove</name>
	<type>method</type>
	<shortdesc>子メニュー項目の削除</shortdesc>
	<arg>
		<argitem>
			<name>item</name>
			<default></default>
			<desc>
				　削除する子メニュー項目を指定します。<r/>
			</desc>
		</argitem>
	</arg>
	<result></result>
	<desc>
		　指定された子メニュー項目をリストから削除します。<r/>
	</desc>
</member>

<member>
	<name>popup</name>
	<type>method</type>
	<shortdesc>メニュー項目のポップアップ表示</shortdesc>
	<arg>
		<argitem>
			<name>flags</name>
			<default></default>
			<desc>
				メニューの挙動を表すフラグです。以下の値のビット論理和を指定してください。<r/>
				<kw>tpmLeftButton</kw><r/>
				<kw>tpmRightButton</kw><r/>
				<kw>tpmLeftAlign</kw><r/>
				<kw>tpmCenterAlign</kw><r/>
				<kw>tpmRightAlign</kw><r/>
				<kw>tpmTopAlign</kw><r/>
				<kw>tpmVCenterAlign</kw><r/>
				<kw>tpmBottomAlign</kw><r/>
				<kw>tpmHorizontal</kw><r/>
				<kw>tpmVertical</kw><r/>
				<kw>tpmNoNotify</kw><r/>
				<kw>tpmReturnCmd</kw><r/>
				<kw>tpmRecurse</kw><r/>
				<kw>tpmHorPosAnimation</kw><r/>
				<kw>tpmHorNegAnimation</kw><r/>
				<kw>tpmVerPosAnimation</kw><r/>
				<kw>tpmVerNegAnimation</kw><r/>
				<kw>tpmNoAnimation</kw><r/>
				これらのフラグの詳細については<at target="_top" href="http://msdn.microsoft.com/library/ja/jpwinui/html/_win32_trackpopupmenu.asp?frame=true">MSDNの該当ページ</at>を参照してください。
				
			</desc>
		</argitem>
		<argitem>
			<name>x</name>
			<default></default>
			<desc>
				ウィンドウのクライアント座標上でのx位置を表します。
			</desc>
		</argitem>
		<argitem>
			<name>y</name>
			<default></default>
			<desc>
				ウィンドウのクライアント座標上でのy位置を表します。
			</desc>
		</argitem>
	</arg>
	<result>flagsにtpmReturnCmdが指定されていた場合は、
		選択されたメニュー項目のIDを整数で返します(ただし、現バージョンではこのIDを吉里吉里側から設定することができないため、flagsにtpmReturnCmdを指定することは意味がありません)。
		何も選択されずにキャンセルされた場合は0を返します。
	</result>
	<desc>
		メニュー項目をポップアップ表示します。このメソッドは、メニューが閉じられるまで帰ってきません。<r/>
		メニューが閉じられるまでの間に他の非同期イベントが発生する可能性があるので注意してください。<r/>
		<ref>Window.menu</ref>そのものはポップアップできません。<r/>
		非表示状態のメニュー項目はポップアップできません。<r/>
		<ref>Window.menu</ref>の子でないメニューはポップアップできません。<r/>
	</desc>
</member>




<member>
	<name>caption</name>
	<type>property</type>
	<shortdesc>キャプション</shortdesc>
	<access>r/w</access>
	<desc>
		　キャプション ( 表示する文字列 ) を表します。値を設定することもできます。<r/>
		　'-' ( ハイフン ) を指定すると区切り線を表示するようになります。<r/>
	</desc>
</member>

<member>
	<name>visible</name>
	<type>property</type>
	<shortdesc>可視かどうか</shortdesc>
	<access>r/w</access>
	<desc>
		　メニュー項目が可視かどうかを表します。値を設定することもできます。<r/>
		　真ならば表示され、偽ならば非表示です。<r/>
	</desc>
</member>

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

	</desc>
</member>

<member>
	<name>enabled</name>
	<type>property</type>
	<shortdesc>選択可能かどうか</shortdesc>
	<access>r/w</access>
	<desc>
		　メニュー項目を選択可能かどうかを表します。値を設定することもできます。<r/>
		　真の場合はメニュー項目が選択可能、偽の場合は選択不可能になります。<r/>
	</desc>
</member>

<member>
	<name>window</name>
	<type>property</type>
	<shortdesc>オーナーウィンドウ</shortdesc>
	<access>r</access>
	<desc>
		　このメニューアイテムを保持するオーナーウィンドウ(Windowクラスのオブジェクト)を表します。<r/>
	</desc>
</member>

<member>
	<name>group</name>
	<type>property</type>
	<shortdesc>グループ番号</shortdesc>
	<access>r/w</access>
	<desc>
		　グループ番号を表します。値を設定することもできます。<r/>
		　同じグループ番号を持ち、かつ同じ親を持ち、<ref>MenuItem.radio</ref> プロパティが
		真のメニュー項目は、<ref>MenuItem.checked</ref> プロパティを同時に二つ以上を
		真にすることはできません。<r/>
		<r/>
	</desc>
</member>

<member>
	<name>radio</name>
	<type>property</type>
	<shortdesc>ラジオ項目かどうか</shortdesc>
	<access>r/w</access>
	<desc>
		　ラジオ項目かどうかを指定します。値を設定することもできます。<r/>
		　この項目が真の場合の動作については <ref>MenuItem.checked</ref> プロパティを
		参照してください。<r/>
	</desc>
</member>

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

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

<member>
	<name>shortcut</name>
	<type>property</type>
	<shortdesc>ショートカットキー</shortdesc>
	<access>r/w</access>
	<desc>
		　ショートカットキーを表します。値を設定することもできます。<r/>
		　ショートカットキーは文字列で指定します。「シフト系キー+対象キー名」の組み合わせで
		指定します。大文字と小文字は区別されません。以下は有効なショートカットキーの例です。<r/>
		<r/>
		<tt>"Shift+Esc"</tt><r/>
		<tt>"Ctrl+S"</tt><r/>
		<tt>"Shift+Alt+E"</tt><r/>
		<tt>"Alt+Enter"</tt><r/>
		<tt>"Ctrl+F1"</tt><r/>
		<tt>"T"</tt> (シフト系キーの指定をしないこともできます)<r/>
		<r/>
		　無効なショートカットキーの組み合わせや、"" (空文字列) を指定するとショートカットキーは無効になります。<r/>
		　現バージョンでは、Tab や Shift+F1 など、システムや吉里吉里であらかじめ用途の決まっているキーの一部や、一部のキー
		(Shiftキーそのものなど)を指定しても反応しません。<r/>
		　ショートカットキーを指定すると、そのキーに対応する onKeyDown 等のイベントは発生しなくなり、ショートカットキーを
		指定したメニュー項目にのみイベントが発生するようになります。<r/>
	</desc>
</member>

<member>
	<name>parent</name>
	<type>property</type>
	<shortdesc>親メニュー項目</shortdesc>
	<access>r</access>
	<desc>
		　親メニュー項目を表します。<r/>
	</desc>
</member>

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


<member>
	<name>root</name>
	<type>property</type>
	<shortdesc>ルートメニュー項目</shortdesc>
	<access>r</access>
	<desc>
		　ルート(大本)のメニュー項目(MenuItemクラスのインスタンス)を表します。<r/>
	</desc>
</member>


</doc>
