MsgBox

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

MsgBox[編集]

メッセージダイアログを表示する。色々なボタンを表示したり、タイムアウトを指定することも可能。

MsgBox, Text
MsgBox [, Options, Title, Text, Timeout]

Parameters[編集]

引数名 説明
Text ダイアログに表示するメッセージ。
`nで改行を含む内容も表示できる。
全ての引数が省略された場合、 Press OK to continue.というメッセージが表示される。
引数がTextだけの形式の場合、カンマをエスケープする必要はない。
Options 表示するボタンや、その他の設定を指定する。
詳細はRemarks参照。
省略時は 0
Title ダイアログのタイトル。
省略時はスクリプト名。
Timeout 応答の時間制限を秒数で指定。最大は 2147483(24.8日)で、これを超えた場合はこの値になる。
この時間を経過すると、ウィンドウは自動的に閉じる。

Remarks[編集]

Options引数で、表示するボタン、アイコン、最初にフォーカスのあるボタン、最前面かどうかを設定できる。
下記の数の和を指定する。

カテゴリ 機能 10進値 16進値
ボタン OK(デフォルト) 0 0x0
OK キャンセル 1 0x1
中止 再試行 無視 2 0x2
はい いいえ キャンセル 3 0x3
はい いいえ 4 0x4
再試行 キャンセル 5 0x5
キャンセル 再試行 続行 6 0x6
タイトルバー上のヘルプボタン 16384 0x4000
アイコン アイコン無し(デフォルト) 0 0x00
× 16 0x10
? 32 0x20
! 48 0x30
i 64 0x40
最初にアクティブなボタン 1番目のボタン(デフォルト) 0 0x000
2番目のボタン 256 0x100
3番目のボタン 512 0x200
表示方法 モーダル(最前面) 4096 0x1000
他のウィンドウを停止して最前面(無効の場合あり) 8192 0x2000
デフォルトデスクトップ上に表示する(NT系移行のみ) 131072 0x20000
常に最前面(WS_EX_TOPMOSTスタイル) 262144 0x40000
文字表示方法 右寄せ 524288 0x80000
←向き(ヘブライ語、アラビア語向け) 1048576 0x100000

IfMsgBoxコマンドで、どのボタンが押されたかや、制限時間が経過したかを判別することができる。

Gui,+OwnDialogsを使用することで、GUIウィンドウの子ウィンドウとしてダイアログを表示することができる。
子ウィンドウとしてダイアログが表示されている間は、親となるGUIウィンドウは操作できなくなる。

Optionsに 16384を足すと、 ヘルプボタンが追加される。
Gui,+OwnDialogsを使用している場合、ヘルプボタンが押されるとGuiウィンドウにWM_HELP(0x53)メッセージが送られる。OnMessage()関数でメッセージ処理関数を割り当てておくことで、ヘルプボタン押し下げに応答できる。

Related[編集]

IfMsgBox, InputBox, FileSelectFile, FileSelectFolder, ToolTip

Example(s)[編集]

MsgBox, This is the 1-param method.  Commas, do, not, need to be escaped.
MsgBox, 4, , This is the 3-param method, non-escaped commas ok.`n`nContinue?
IfMsgBox, No
  Return
MsgBox, 4, , This MsgBox will time out in 5 seconds.  Continue?, 5
IfMsgBox, Timeout
  MsgBox, The previous MsgBox timed out.
Else IfMsgBox, No
  Return