メニュー関数

キャラクターを右クリックすると表示されるコンテキストメニューを操作します. 新しいメニューおよびサブメニューの追加,挿入,削除が可能です.

MenuItemAdd
MenuItemDelete
MenuItemExists
MenuItemGetEnable
MenuItemGetSelected
MenuItemGetState
MenuItemGetVisible
MenuItemInsert
MenuItemRename
MenuItemSetEnable
MenuItemSetState
MenuItemSetVisible

boolean MenuItemAdd(
  string item,
  int style,
  int groupID,
  int callstyle,
  void &func( string item, string param ),
  string param )
[2.00以降]

機能 新しいメニュー項目を追加します.
引数
item新しく追加するメニュー項目を指定します.
styleメニュー項目のスタイル.
groupIDメニュー項目のグループID(1-255までの整数)
styleを1(グループメニュー)を指定したときのみ有効です.
callstyle 呼び出し方式指定
func メニューが選択された時に呼ばれるコールバック関数
param汎用パラメータ

コールバック関数のparam引数に渡されるパラメータです.

戻り値
trueメニュー項目追加成功
falseメニュー項目の追加に失敗
説明

右クリックメニューに独自のメニュー項目を追加します. 第1階層に追加したメニュー項目は,項目名順にソートされます. サブメニューに属するメニュー項目はソートされず, 追加挿入順に表示されます.

styleには以下の値を指定できます.

style
0通常もしくはチェック付きメニュー
1グループメニュー
2セパレータ(水平方向の分割線)を描画します.
styleに1(グループメニュー形式)を指定した場合は, 同じgroupIDを持つメニュー項目同士で排他的な選択(チェック)動作を行なうことができます. 項目1から項目3のメニューをstyle=1,groupID=1でメニューに追加し, MenuItemSetStateで"項目1"を選択状態にすると, 以下のように項目1にチェックマークが付きます.

          + --------------------- +------------+
          | テストメニュー(T)    >| ●項目1    |
          |        :              |   項目2    |
                                  |   項目3    |
        

次にMenuItemSetState関数を使用して"項目2"を選択すると, 以下のように"項目2"のみが選択状態となります.

          + --------------------- +------------+
          | テストメニュー(T)    >|   項目1    |
          |        :              | ●項目2    |
                                  |   項目3    |

groupIDにはグループメニューが属するそれぞれのグループに共通の値を指定します. 同一のグループIDを持つ項目同士で一つのグループを構成します. グループIDには0以外の値が指定できます. メニューの階層が異なれば, グループIDが同一でも異なるグループとみなされます. groupIDはstyleに1を指定したときにのみ有効です. それ以外の場合は無視されます.

styleに2(セパレータ形式)を指定した場合は, item引数に半角英数字以外の文字は使用しないでください.

callstyle引数にコールバック関数の呼び出し方法を指定します. callstyle引数については RegisterMouseUpFunctionを参照してください.
func引数には, メニューが選択されたときにコールバックされる関数を指定します. セパレータ(style=2のとき)にも指定が必要ですが, コールバックはされません.
param引数には,コールバック関数のparam引数に渡す値を指定します.

例1
メニュー項目とセパレータの追加の例

// メニューがクリックされたときに呼ばれるコールバック関数
void MenuCallbackFunc( string item, int param )
{
    Talk( item );      // 選択された項目をしゃべる
}

void TestMenuAdd()
{
    // メニューの追加
    MenuItemAdd( "テストメニュー(&T)\n設定する",  0 , 0 , MenuCallbackFunc, 0, 0, 0, 0 );
    // セパレータの追加
    MenuItemAdd( "テストメニュー(&T)\nseparator", 2,  0 , NULL, 0, 0 );
}

      上記コードを時刻するこのようにメニューが追加される

+-----------------------+
| キャラクターについて(A)   |
| --------------------- +------------------+
| テストメニュー(T)    >| 設定する         |
|        :              | ---------------- |
      
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemDelete(   string item )[2.00以降]

機能 メニュー項目を削除します.
引数
item削除するメニュー項目
戻り値
true成功
false失敗(指定したメニュー項目がみつからない等)
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemExists(   string item )[2.00以降]

機能 メニュー項目が存在するかどうかを返します.
引数
item存在を取得するメニュー項目名
戻り値
trueメニュー項目は存在する
falseメニュー項目は存在しない
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemGetEnable(   string item )[2.00以降]

機能 メニュー項目に対する操作が有効又は無効であるかを取得します.
引数
item 状態を取得するメニュー項目
戻り値
true有効
false無効(または指定項目が無いなどのエラー時)
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

string MenuItemGetSelected(   string item )[2.00以降]

機能 選択されているメニュー項目名を取得します.
引数
item状態を取得するメニュー項目
戻り値
NULL以外選択されているメニュー項目
NULLエラー(もしくは指定したメニュー項目名がみつからないなどのエラー)
説明

グループメニュー中で, 現在選択状態にあるメニューの項目名を取得します.

取得対象とするグループメニューはitem引数で指定します.
item引数と同じ項目名を持つメニューが属するグループメニューを処理対象とします.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemGetState(   string item )[2.00以降]

機能 メニュー項目のチェック状態または選択状態を取得します.
引数
item状態を取得するメニュー項目
戻り値
true選択されている
false選択されていない(もしくは指定したメニュー項目名がみつからないなどのエラー)
説明 itemで指定したメニュー項目が選択されてるか, もしくはチェックされいるかどうかを取得します.
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemGetVisible(   string item )[2.00以降]

機能 メニュー項目の表示/非表示の状態を取得します.
引数
item状態を取得するメニュー項目
戻り値
true表示
false非表示(もしくはメニュー項目が見つからない等のエラー)
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemInsert(
  string nextitem,
  string item,
  int style,
  int groupID,
  int callstyle,
  void &func( string item, string param ),
  string param )
[2.00以降]

機能 新しいメニュー項目を指定の位置に追加します.
引数
nextitem追加したい位置のメニュー項目
itemMenuItemAddを参照
styleMenuItemAddを参照
groupIDMenuItemAddを参照
callstyleMenuItemAddを参照
funcMenuItemAddを参照
paramMenuItemAddを参照
戻り値
trueメニュー項目追加成功
falseメニュー項目の追加に失敗
説明 新しいメニュー項目を指定の位置に追加します. nextitemで挿入する位置を指定します.成功するとnextitemのあった位置 に新しい項目が挿入され,nextitem以降の項目は一つずつ後方にずれます.
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemRename(
  string item,
  string newname )
[2.00以降]

機能 メニュー項目名を変更します.
引数
item名前を変更するメニュー項目
newname新しいメニュー項目名
戻り値
true成功
false失敗
説明 itemで指定したメニュー項目名をnewnameに変更します. この関数で変更できるのは項目名のみです.項目の位置,階層を変更する ことは出来ません.
例1
例  [テストメニュー\nテスト1]を[テストメニュー\nテスト2]に変更

MenuItemRename( "テストメニュー\nテスト1", "テスト2" );
// または以下のように記述する
MenuItemRename( "テストメニュー\nテスト1", 
                "テストメニュー\nテスト2" );
// 以下のように親メニュー名と子メニュー名両方を変更すること
// はできない.このように指定した場合はメニュー項目名のみ変更
// されます.
MenuItemRename( "テストメニュー\nテスト1", 
                "テストメニュー2\nテスト2" );
      
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemSetEnable(
  string item,
  boolean enable )
[2.00以降]

機能 メニュー項目に対する操作を有効または無効にします.
引数
item変更するメニュー項目
enable有効,又は無効
戻り値
true成功
false失敗(指定したメニュー項目がみつからない)
説明 メニュー項目に対する操作を有効または無効にします.無効に設定された メニュー項目は,外部からの操作に応答しません.無効に設定されたメニュー 項目は淡色表示され,外部からの操作が無効であることを表します.
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemSetState(
  string item,
  boolean check )
[2.00以降]

機能 メニュー項目のチェックまたは選択状態を変更します.
引数
item状態を変更するメニュー項目
checkメニューの状態
戻り値
true成功
false失敗(指定したメニュー項目がみつからない等)
説明 itemで指定したメニュー項目のチェックもしくは選択状態を変更します. checkにメニュー項目の状態を設定します. メニューのスタイルが0の場合は, trueでメニュー項目にチェックをつけ, falseでチェックをはずします.
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean MenuItemSetVisible(
  string item,
  boolean visible )
[2.00以降]

機能 メニュー項目の表示/非表示設定を変更します.
引数
item表示/非表示を変更するメニュー項目
visible表示/非表示設定
戻り値
true成功
false失敗(指定したメニュー項目がみつからない)
説明 itemで指定したメニュー項目の表示/非表示設定を変更します. visibleにtrueを指定するとメニューが表示されます.falseを指定すると メニューは非表示になり表示されません.
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧