4D v14.3Menu selected |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Menu selected
|
Menu selected {( subMenu )} -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
subMenu | MenuRef |
![]() |
選択された項目を含むメニューの参照 | |||||
戻り値 | 倍長整数 |
![]() |
選択されたメニューコマンド 上位バイトにメニュー番号 下位バイトにメニュー項目番号 | |||||
Menu selected はフォームが表示されているときのみ使用できます。このコマンドはメニューから選択されたメニュー項目を検出し、階層サブメニューの場合はサブメニューの参照を返します。
Tip: 可能な限り、Menu selectedを使用しないで、(負のメニューバー番号を用いた) 関連メニューバーのメニューに割り当てられたメソッドを使用してください。いずれのメニューが選択されたかを調べる必要がないため、関連メニューバーはより簡単に管理できます。
Menu selected コマンドを階層サブメニューに対して使用できます。第一レベルより下の階層のメニュー項目を選択すると、コマンドはsubMenu 引数に、選択された項目が属するサブメニューの参照 (MenuRef 型, 16文字の文字列) を返します。メニューコマンドが階層サブメニューを含まない場合、この引数には空の文字列が返されます。
Menu selected コマンドは、選択されたメニューの番号を倍長整数型で返します。選択されたメニュー番号を知るためには、返された数値を65536で割り、その結果を整数型に変換します。選択されたメニューコマンド番号を知るには、係数65536を使い、返された数値のモジューロを計算します。メニュー番号とメニューコマンド番号を計算するには以下のフォーミュラを使用します:
menu:=Menu selected\ 65536
menuCommand:=Menu selected% 65536
menu:=(Menu selected & 0xFFFF0000)>>16
menuCommand:=Menu selected & 0xFFFF
メニューが選択されていない場合、Menu selectedは0を返します。
以下の例はSET MENU ITEM MARKコマンドのメニューとメニュー項目引数を求めるためにMenu selectedを使用しています:
Case of
:(Form event=On Menu Selected)
C_STRING(16;$refMenuIncludingItem)
C_LONGINT($ref;$MenuNum;$MenuItemNum)
$ref:=Menu selected($refMenuIncludingItem)
$MenuNum:=$ref\65536
$MenuItemNum:=$ref%65536
SET MENU ITEM MARK($refMenuIncludingItem;$MenuItemNum;Char(18))
End case
Note: 項目が選択されていなければ、On Menu Selectedフォームイベントは有効にされません。メニューが、メニューバー中のメニューの一つでない場合、$refMenuIncludingItemには常に値が与えられ、$MenuNumは0となります。
プロダクト: 4D
テーマ: メニュー
番号:
152
変更: 4D v11 SQL
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)