|
こんばんは、秀丸ユーザの「でるもんた・いいじま」です。
ツイッターに投稿するためのスクリーンショットを撮る都合で、
秀丸のウィンドウ幅を小さくすることがあります。
(そういう設定をファイルタイプ別設定の中に作り込んであります。)
で、幅を小さくしたまま秀丸を終了し、そのあと普通に共通設定で
秀丸を起動しなおすと、小さかったときのサイズを覚えていて、
共通設定の80文字よりも狭い幅で秀丸が起動してしまいます。
共通設定では折り返しは9pt@96dpi×半角換算80文字に設定しているので、
いちいちマウス操作で的確なサイズに戻すのが面倒です。
…というわけで、自動起動マクロで秀丸起動時に、
「当該ファイルタイプ別設定によればウィンドウサイズが一定文字数の
固定になっていて、しかるに、開いたウィンドウの実際の幅がその
文字数よりもも小さい場合は、拡げる」
という設定を組み込みたいのですが、ウィンドウの幅をピクセル単位で
取得・設定する為の巧い方法はありませんか?
あまり調べずに書いているのですが、マクロヘルプで拾えたところでは
こんな感じです:
・「width」で折り返し文字数を取得できる。(代入できるか未確認)
・「fontsize」でフォントの高さを取得できるが、「半角1文字の横幅」の
取得方法は不明。
・「windowwidth」でウィンドウの幅を取得できる(これも代入できるか
未確認)が、ピクセル数との換算には行番号領域とかの加算が必要。
・マクロヘルプの「config "x"で指定できる名前」のところには、
それらしき項目はない。
結局のところ、秀丸の外のツールを使うしかないんでしょうか?
とりあえず、AutoHotkeyでこんな感じで書いたらすんなりいきましたが…。
(事前に指定してある固定サイズより横幅を広くしようとしてもそこで
打ち止めになる、という秀丸の仕様を前提にしています。)
x_set := 0
Loop {
WinGetPos ,,, x_size, y_size, A
if ( x_size < x_set )
break
x_set := x_size+100
WinMove, A, ,,, x_set, y_size
}
|
|