メインコンテンツまでスキップ
バージョン: 開発中

INSERT MENU ITEM

INSERT MENU ITEM ( menu ; afterItem ; itemText {; subMenu {; process}}{; *} )

引数説明
menuIntegerメニュー番号またはメニュー参照
afterItemIntegerメニュー項目番号
itemTextText挿入するメニュー項目のテキスト
subMenuText項目に割り当てるサブメニュの参照
processIntegerプロセス参照番号
*演算子指定時: メタ文字を標準文字として扱う

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

INSERT MENU ITEM コマンドは、menuに渡されたメニュー番号または参照を持つメニューにおいて、afterItemに渡された番号の既存のメニュー項目の後ろに新しいメニュー項目を挿入します。

process引数を省略すると、INSERT MENU ITEM コマンドはカレントプロセスのメニューバーに適用されます。そうでなければ、processに渡されたプロセス参照番号のプロセスのメニューに適用されます。

Note: menuMenuRefを渡した場合、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 PROPERTYSET 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")

参照

APPEND MENU ITEM
SET MENU ITEM PARAMETER