今回は「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をご覧ください。
応用編
基本的な使用方法が分かったところで、ここからは少し応用編です。
複数行の表示
ダイアログ内で複数行のテキストを表示するには「`n」を使用して改行させます。
「`」はバッククオートです。日本語キーボードの場合、Shift+@で入力できます。
vk1D & 0::MsgBox 今日は`nいい天気
複数のダイアログボックスを表示させる
MsgBoxコマンドを縦に繋げることで、連続してダイアログを表示させることができます。
vk1D & 0::
MsgBox 晩飯は
MsgBox ステーキだ!
Return
変数を出力
AutoHotKeyには様々な変数が元から用意されています。これを組み込み変数といいますが、「%」記号を使うことで変数の内容を表示することが可能です。
vk1D & 0::MsgBox %Clipboard%
変数に代入されている値を表示するには変数名を%で囲みます。組み込み変数「Clipboard」はその名の通り、クリップボードの内容が代入されています。
文字列をコピーして試してみましょう。
画像やその他のバイナリファイルがクリップボードにコピーされている場合、そのファイルのパスを表示します。