| 4D v18Dynamic pop up menu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 Dynamic pop up menu 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dynamic pop up menu ( menu {; default {; xCoord ; yCoord}} ) -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| menu | MenuRef |   | メニュー参照 | |||||
| default | 文字 |   | デフォルトで選択される項目のパラメーター | |||||
| xCoord | 倍長整数 |   | 左上隅のx座標 | |||||
| yCoord | 倍長整数 |   | 左上隅のy座標 | |||||
| 戻り値 | 文字 |   | 選択されたメニュー項目のパラメーター | |||||
Dynamic pop up menuはマウスの現在位置またはオプションのxCoord と yCoord引数で指定した位置に階層ポップアップメニューを表示します。
使用される階層メニューはCreate menuコマンドで作成されていなければなりません。Create menuから返される参照をmenu 引数に渡します。
注: 既存のPop up menuコマンド (“ユーザインタフェース” テーマ) はテキストからポップアップメニューを作成するために使用できます。
インターフェースルールの標準に準拠して、通常はこのコマンドを右クリック、または一定時間以上ボタンが押され続けた時に呼び出します (例えばコンテキストメニューとして)。
オプションのdefault 引数を使用して、メニューが表示されるときにデフォルトで選択するポップアップメニューの項目を指定できます。この引数にはメニューに割り当てたカスタム文字列を渡します。この文字列は事前にSET MENU ITEM PARAMETER コマンドを使用して設定されていなければなりません。この引数を渡さないと、デフォルトで先頭の項目が選択されます。
注: デフォルトではトップレベルのメニュー項目のみが選択できます。
オプションの xCoord と yCoord 引数を使用して、ポップアップメニューが表示される場所を指定できます。xCoord と yCoord 引数にはそれぞれ、メニューの左上隅の水平および垂直座標を渡します。この座標はカレントフォームのローカル座標システムをピクセル単位で渡します。両引数はペアで指定しなければなりません。片方のみを渡した場合、無視されます。
3Dボタンに関連付けられたポップアップメニューを表示したい場合、オプションの xCoord と yCoord 引数は渡しません。この場合は、カレントプラットフォームのインタフェース標準に基づき、4Dが自動でメニューの場所を計算します (3Dボタンの "ポップアップメニューあり" プロパティが "リンク" あるいは "分離" のいずれかに設定されている必要があります)。
メニュー項目が選択されると、コマンドはその (SET MENU ITEM PARAMETERコマンドを使用して定義された) カスタム文字列を返します。そうでなければコマンドは空の文字列を返します。
4D v16 R3以降: 標準アクションがメニュー項目に関連付けられている場合、これは複数のレベルにおいてDynamic pop up menu コマンドに影響します:
このコードを使用すると、標準アクションに基づいたダイナミックな階層ポップアップメニューを作成することができます:
 C_TEXT($refMainContextMenu;$refMenuEdit)
 $refMainContextMenu:=Create menu
 APPEND MENU ITEM($refMainContextMenu;"-")
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak select all)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak clear)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak copy)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak cut)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak paste)
 APPEND MENU ITEM($refMainContextMenu;"-")
  //サブメニューテキスト編集
 $refMenuEdit:=Create menu
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font bold)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("B"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font italic)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("I"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font linethrough)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("L"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font underline)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("U"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font show dialog)
 APPEND MENU ITEM($refMainContextMenu;"Edit";$refMenuEdit)
 
 paramRef:=Dynamic pop up menu($refMainContextMenu)
									Get menu item parameter
									
									Get selected menu item parameter
									
									Pop up menu
									
									SET MENU ITEM PARAMETER
									
									SET MENU ITEM PROPERTY
									
	プロダクト: 4D
	テーマ: メニュー
	番号: 
        1006
        
        
        
	
	初出: 4D v11 SQL  
	変更: 4D v16 R3
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
	
	
 コメントを追加
コメントを追加