2014年9月10日水曜日

accela.ahkにアラート追加(あと長方形も)

faiさんAccela.ahk(またはその後続スクリプト)にアラートを追加する方法

ショートカットを追加する方法はfaiさんのサイト内で書かれていますが、アラートの追加はちょっと特殊だったのでここに書いておきます。(もしかしたらもっといい方法があるかもしれませんが、まあとりあえずこれで動いているので。。。)

次のスクリプトをAccela.ahk内の適当な所(正確には #IfWinActive で囲まれた範囲)にコピペしてください(その後「Reload this script」)。チャート内でAキーを押せばその価格にアラートが設定されます。ただし、その時のカーソル位置がインジやラインなどと被っていると失敗します。何もないチャート上でAキーを押す必要があります。

A::
   Send, {LButton}{RButton}
   PostMessage, 0x111,38205,0 ;アラート
   Send, {Esc}
   return

「A::」のAを変更すれば他の好きなキーに設定できます。
既にAキーが他のショートカットに使われている場合は、それを削除するか、行頭にセミコロン「;」を付けて無効化してください。
たとえばAccela.ahkであれば、元々Aキーは「A::Send !a」で使われているので、

;A::Send !a

とすればその行はコメントとみなされて無効になります。

一応、動作説明・・・左クリック→右クリック→アラートのコマンド送信→Escキー、という動作をします。
どうやらアラートはチャート上を右クリックしてコンテクストメニューを表示させた状態じゃないと出ないっぽいのでまずは右クリック、としたいところですが、例えば十字線を表示させている状態で右クリックしてもその十字線が消えるだけでメニューが表示されないので、まずは左クリックでそれをキャンセルし、その後右クリック。最後はEscキーでメニュー表示を消しています。

おまけ:
私は注目箇所に印を付けるのに長方形もよく使うので、ついでにそれも書いておきます。Rキーで長方形を描けます。

R::PostMessage, 0x111,33247,0 ;長方形