INSERT MENU ITEM
INSERT MENU ITEM ( menu ; afterItem ; itemText {; subMenu {; process}}{; *} )
引数 | 型 | 説明 | |
---|---|---|---|
menu | Integer | → | メニュー番号またはメニュー参照 |
afterItem | Integer | → | メニュー項目番号 |
itemText | Text | → | 挿入するメニュー項目のテキスト |
subMenu | Text | → | 項目に割り当てるサブメニュの参照 |
process | Integer | → | プロセス参照番号 |
* | 演算子 | → | 指定時: メタ文字を標準文字として扱う |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
INSERT MENU ITEM コマンドは、menuに渡されたメニュー番号または参照を持つメニューにおいて、afterItemに渡された番号の既存のメニュー項目の後ろに新しいメニュー項目を挿入します。
process引数を省略すると、INSERT MENU ITEM コマンドはカレントプロセスのメニューバーに適用されます。そうでなければ、processに渡されたプロセス参照番号のプロセスのメニューに適用されます。
Note: menuにMenuRefを渡した場合、process引数は意味を持たず、無視されます。
* 引数を渡さない場合、INSERT MENU ITEM は一度の呼び出しで1つまたは複数のメニュー項目の挿入ができます。
INSERT MENU ITEM は、メニュー中の任意の場所に項目を挿入できるという点を除いて、APPEND MENU ITEM のように動作します。APPEND MENU ITEM は常にメニューの最後に項目を追加します。
itemTextに渡す項目や*** 引数の動作の定義については、APPEND MENU ITEM コマンドの説明を参照してください。
注: itemText 引数では、ak standard action title 定数がサポートされています(4D v16 R3以降)。
オプションのsubMenu 引数を使用して、階層サブメニューとして追加するメニューを指定できます。Create menu コマンド等を使用して作成されたメニュー参照 (MenuRef 型文字列) を渡さなければなりません。コマンドが2つ以上のメニュー項目を追加する場合、サブメニューは最初の項目に追加されます。
重要: 新しいメニュー項目には、メソッドやアクションが割り当てられていません。これらをSET MENU ITEM PROPERTY や SET MENU ITEM METHOD コマンドを使用して項目に割り当てるか、Menu selected コマンドを使ってフォームメソッドからこれを管理しなくてはなりません。
例題
以下の例題は2つのコマンドからなるメニューを作成し、メソッドを割り当てます:
menuRef:=Create menu
APPEND MENU ITEM(menuRef;"Characters")
SET MENU ITEM METHOD(menuRef;1;"CharMgmtDial")
INSERT MENU ITEM(menuRef;1;"Paragraphs")
SET MENU ITEM METHOD(menuRef;2;"ParaMgmtDial")