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