[AutoHotKey]ダイアログを表示するMsgBoxの作り方

今回は「AutoHotKeyでGUI」の事始めとして、メッセージダイアログを表示してみたいと思います。

MsgBoxコマンドでダイアログを表示する

まずは単純にテキストを表示するダイアログです。

vk1D & 0::MsgBox Hello

無変換+0にMsgBoxコマンドを割り当て、「Hello」という文字列を表示させるスクリプトです。これを実行すると、

こんな風にダイアログが表示されました。

MsgBoxコマンドのパラメータ

次にMsgBoxコマンドのパラメータを見ていきます。パラメータとはプログラミングで言う「引数」のことで、これを指定することでダイアログの見た目やボタンの配置などを変更することができます。

MsgBoxコマンドのパラメータはこちらです。

MsgBox [, Options, Title, Text, Timeout]

パラメータの設定方法

意味は分からなくてもかまわないので、とりあえず試してみましょう。例えばダイアログの「OK」ボタンの代わりに「はい」「いいえ」のボタンを配置するには、

vk1D & 0::MsgBox 4,,Hello

これを実行すると、

ボタンが「はい」「いいえ」に変化したのが分かると思います。

次にこのダイアログのタイトルを変更してみます。上のコードでカンマが続く部分に文字を挿入しましょう。

vk1D & 0::MsgBox 4,だいあろぐ,Hello

タイトルが「だいあろぐ」に変わりました。

このように「MsgBox」の後に引数をパラメータの順番通り指定することで、単純に表示する文字を変えるだけでなく、ダイアログそのものの見た目などを変更することができます。

Optionsの数値

引数の中で「Options」は数値で機能を表します。それぞれの機能を確認した上で、その合計値を入力してください。

ボタン

機能数値
OKのみ(デフォルト)
OK/キャンセル1
中止/再試行/無視2
はい/いいえ/キャンセル3
はい/いいえ4
再試行/キャンセル5
キャンセル/再試行/続行6

アイコン

機能数値
無し(デフォルト)
×(音有り)16
32
!(音有り)48
i(音有り)64

最初に選択されるボタン

機能数値
1番目(デフォルト)
2番目256
3番目512

使用頻度を考えてここでは掲載していないものもあります。詳しくはAutoHotKeyWikiをご覧ください。

MsgBox - AutoHotkey Wiki

応用編

基本的な使用方法が分かったところで、ここからは少し応用編です。

複数行の表示

ダイアログ内で複数行のテキストを表示するには「`n」を使用して改行させます。

「`」はバッククオートです。日本語キーボードの場合、Shift+@で入力できます。

vk1D & 0::MsgBox 今日は`nいい天気

複数のダイアログボックスを表示させる

MsgBoxコマンドを縦に繋げることで、連続してダイアログを表示させることができます。

vk1D & 0::
MsgBox 晩飯は
MsgBox ステーキだ!
Return

変数を出力

AutoHotKeyには様々な変数が元から用意されています。これを組み込み変数といいますが、「%」記号を使うことで変数の内容を表示することが可能です。

vk1D & 0::MsgBox %Clipboard%

変数に代入されている値を表示するには変数名を%で囲みます。組み込み変数「Clipboard」はその名の通り、クリップボードの内容が代入されています。

文字列をコピーして試してみましょう。

画像やその他のバイナリファイルがクリップボードにコピーされている場合、そのファイルのパスを表示します。

タイトルとURLをコピーしました