[AutoHotKey]ツールチップを表示する方法

メッセージボックスは便利ですが、「そこまで出しゃばらなくていい」という場面もありますよね。そんなときにはツールチップ(カーソル合わせた時に出てくる小さいやつ)を使用するのが簡単でオススメです。

今回はAutoHotKeyでツールチップを表示してみたいと思います。

作ってみる

早速作ってみます。トリガーキーは環境に合わせて入れ替えてください。

F13::
FormatTime, today,D4,ggyy年M月d日dddd    ;今日の日付を変数todayに代入
ToolTip, %today%                        ;todayをツールチップで表示
sleep, 3000                              ;3秒待機
ToolTip                                  ;ツールチップを消去
return

トリガーを押すと、

マウスカーソルの位置にツールチップが表示されました。

このコードの中でFormatTimeの行はツールチップに表示する「今日の日付」を生成しています。ただ今回の趣旨ではないので、詳しく知りたいという方はWikiをご覧ください。

FormatTime - AutoHotkey Wiki

ToolTipの仕様

ToolTip [, Text, X, Y, WhichToolTip]
;Textをツールチップとして表示する/ツールチップを消去する

引数

ToolTipは最大4つの引数を取ります。全て省略した場合、「ツールチップを消去する」命令になります。

仮引数名
Text表示するテキスト
X , Y表示する座標 (省略時はマウスの位置)
WhichToolTipツールチップの番号(1~20まで 省略時は1)

引数に関しては特に難しい部分はありません。実際に引数を変化させるとどうなるのか見てみましょう。

2つ以上のツールチップを表示する

以下は最初に表示したものを基準に、引数を追加した別のツールチップを表示するコードです。

F13::
FormatTime, today,D4,ggyy年M月d日dddd
ToolTip, %today%
ToolTip, 今日はペヤングソースやきそばの日,1000,1000,2    ;新しいツールチップ
sleep, 3000
ToolTip
return

今回のコードではツールチップ2が有効となり、同時に2つ現れました。x,yの各座標を入力すると、デフォルトではアクティブウインドウの指定ピクセル位置に表示されます。

ツールチップが消えない?

しかしここで問題が起こります。3秒後、ツールチップ1は消去されますが、2は消去されず残ります。ToolTipの引数を全て省略すると「ツールチップ1を消去する」命令と取られてしまうため、2以降は残ったままです。

2番目のツールチップを消去する場合、その番号だけを引数に含めたToolTip,,,,2も追加で記述します。引数の順番は固定なので、カンマも必須です。

F13::
FormatTime, today,D4,ggyy年M月d日dddd
ToolTip, %today%
ToolTip, 今日はペヤングソースやきそばの日,1000,1000,2
sleep, 3000
ToolTip
ToolTip,,,,2
return

表示位置を変更する

次に表示位置を変更してみます。単純に数値で変更すると、デフォルトではアクティブウインドウを基準とした座標です。

基準を変更する場合はマウス操作のときと同じCoordModeを使用します。

[AutoHotKey]マウス操作自動化の基本 - ClickとCoordMode
今まではキーボードのキー入力を発生させてランチャ機能や文字列を出力するなどの機能...

今回はToolTipの座標を指定するので、CoordModeの第一引数はToolTipです。

F13::
CoordMode, ToolTip, Screen            ;CoordeModeで座標の基準を指定
FormatTime,today,D4,ggyy年M月d日dddd
ToolTip, %today%
ToolTip, 今日はペヤングソースやきそばの日,200,130,2     ;座標を指定
sleep, 3000
ToolTip
ToolTip,,,,2
return

CoordModeはちょっとした記述の違いで座標の基準が変化します。思った場所に出ない場合は、カンマの数や有無に間違いが無いか確認しましょう。

記述基準
何も書かない(デフォルト)
CoordMode, ToolTip,,
CoordMode, ToolTip, Relative
CoordMode, ToolTip, Window
アクティブウインドウ
CoordMode, ToolTip
CoordMode, ToolTip,
CoordMode, ToolTip, Screen
画面
タイトルとURLをコピーしました