4D v16.3

Menu selected

ホーム

 
4D v16.3
Menu selected

Menu selected 


 

Menu selected {( subMenu )} -> 戻り値 
引数   説明
subMenu  MenuRef in 選択された項目を含むメニューの参照
戻り値  倍長整数 in 選択されたメニューコマンド 上位バイトにメニュー番号 下位バイトにメニュー項目番号

説明   

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

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)