title: Phi:Module Functions
author: YOSHIDA Kazuhiro
mailto: moriq@moriq.com

1. Phi:Module Functions

%c:Phi:module% で定義される関数は次のとおり。

1.1. message_dlg
  %c:message_dlg% を使うには %c:require "dialogs"% が必要。

: message_dlg(message, dlg_type=MT_CUSTOM, buttons=[MB_OK], help_ctx=0, x=-1, y=-1, help_fname='') : Fixnum
  メッセージダイアログボックスを表示します。
  
  : message : String
    メッセージボックスに表示する文字列

  : dlg_type : Fixnum
    ダイアログの用途。値によりキャプションとビットマップの絵が次のように変わる。

    --text
定数             キャプション        ビットマップイメージ
MT_CONFIRMATION  "確認"              青い  "？"
MT_CUSTOM        APPLICATION.title  （なし）
MT_ERROR         "エラー"            赤い"×"
MT_INFORMATION   "情報"              青い"ｉ"
MT_WARNING       "警告"              黄色い"！"
--

    %c:MT_CUSTOM% の場合にはキャプションには %c:APPLICATION.title% の値が利用される。Apollo か Ruby となる。次のようにすればキャプションを変更できる。
    --ruby
APPLICATION.title = "my caption"
--

  : buttons : Array
    メッセージボックスに表示するボタン。配列の中に次の定数を並べる。

    --text
値            ボタン             戻り値・コメント
MB_ABORT      "中止(A)"          MR_ABORT
MB_ALL        "すべて(A)"        MR_ALL
MB_CANCEL     "キャンセル"       MR_CANCEL
MB_HELP       "ヘルプ(H)"        閉じない。下記 help_ctx 参照
MB_IGNORE     "無視(I)"          MR_IGNORE
MB_NO         "いいえ(N)"        MR_NO
MB_NO_TO_ALL  "すべていいえ(O)"  ？？
MB_OK         "ＯＫ"             MR_OK
MB_RETRY      "再試行(R)"        MR_RETRY
MB_YES        "はい(Y)"          MR_YES
MB_YES_TO_ALL "すべてはい(A)"    ？？
--

    参考：「puts Phi.constants.select{|i| /MB_/ =~ i}.sort」とすると次のものも出てくるが、これは別物である。（マウスイベントを生成したボタンを区別するためにマウスイベントハンドラによって使われるマウスボタン定数）。
    --text
MB_LEFT   
MB_MIDDLE 
MB_RIGHT
--

  : help_ctx : Fixnum
    %v:help_file_name% で示されるファイルの，ヘルプトピックのコンテキスト識別子

    このヘルプトピックは，ダイアログが表示されているときにヘルプボタンをクリックするか [F1] を押すことにより，表示されます。

  : x, y : Fixnum
    ダイアログの表示位置となる座標。-1 なら画面の中央になる。

  %c:message_dlg% は，ユーザーが選択したボタンの値を返します。戻り値は以下のとおりです。
  ただし %c:MR_NONE% はダイアログが表示中の値です。戻り値にはなりません。
  --text
MR_NONE
MR_ABORT
MR_YES
MR_OK
MR_RETRY
MR_NO
MR_CANCEL
MR_IGNORE
MR_ALL
--
