miauのブログ

はてなダイアリー「miauの避難所」をはてなブログに移行しました

Frieve Editor の Browser タブを最大化っぽく表示させる AHK スクリプト

ここで書いたように Frieve Editor で順番どおりにカードを辿ってプレゼンしたい場合、画面を最大化した状態ではそれを行うことができません。

でももう少しすっきりした状態でプレゼンしたい。ということで、タイトルバーや画面上の余計なコントロールを隠す AHK(AutoHotKey) スクリプトを書いてみました。


これが・・・

こうなります。

ソース

#j:: ;Windows+J: Frieve Editor の Browser タブを広くする
IfWinExist, ahk_class TFo_Main
{
	; インデックスがずれると面倒なので HWND を記憶しておく
	; TPanel3         - カード(?)バー
	; TPageControl1   - タブインターフェイス
	;   +-TPanel5     - ツールバー
	;   +-TPanel4     - メインの描画部
	;   +-TScrollBar1 - 右側のスクロールバー
	;   +-TScrollBar2 - 下部のスクロールバー
	;   +-TStatusBar1 - ステータスバー
	ControlGet, hHeader,        Hwnd, , TPanel3
	ControlGet, hTPageControl1, Hwnd, , TPageControl1
	ControlGet, hToolbar,       Hwnd, , TPanel5
	ControlGet, hMain,          Hwnd, , TPanel4
	ControlGet, hTScrollBar1,   Hwnd, , TScrollBar1
	ControlGet, hTScrollBar2,   Hwnd, , TScrollBar2
	ControlGet, hTStatusBar1,   Hwnd, , TStatusBar1

	; 描画部分の初期値を保持しておく
	ControlGetPos, mx, my, mw, mh, , ahk_id %hMain%

	; TPageControl1 も移動させるので保持しておく
	ControlGetPos, px, py, pw, ph, , ahk_id %hTPageControl1%

	; TPanel3 を隠す
	ControlGetPos, x, y, w, h, , ahk_id %hHeader%
	ControlMove, , %x%, %y%, 0, 0, ahk_id %hHeader%
	py := py - y
	ph := ph + y
	mh := mh + y

	; TPanel4 を隠す
	ControlGetPos, x, y, w, h, , ahk_id %hToolbar%
	ControlMove, , %x%, %y%, 0, 0, ahk_id %hToolbar%
	mh := mh + y

	; TScrollBar1 を隠す
	ControlGetPos, x, y, w, h, , ahk_id %hTScrollBar1%
	ControlMove, , %x%, %y%, 0, 0, ahk_id %hTScrollBar1%
	mw := mw + x

	; TScrollBar2 を隠す
	; →消してもまた出現するので意味がない模様
;	ControlGetPos, x, y, w, h, , ahk_id %hTScrollBar2%
;	ControlMove, , %x%, %y%, 0, 0, ahk_id %hTScrollBar2%
;	mh := mh + y

	; TStatusBar1 を隠す
	ControlGetPos, x, y, w, h, , ahk_id %hTStatusBar1%
	ControlMove, , %x%, %y%, 0, 0, ahk_id %hTStatusBar1%
	mh := mh + y

	; 目標位置に移動
	ControlMove, , %px%, %py%, %pw%, %ph%, ahk_id %hTPageControl1%
	ControlMove, , %mx%, %my%, %mw%, %mh%, ahk_id %hMain%
	
	; タイトルバーを隠す
	WinSet, Style, -0xC00000 ; WS_CAPTION の削除
}
return

補足

  • 隠したコントロールを元に戻したりとかそういう親切設計はありません。editor.exe を再起動してください。
  • メニューバーを隠す方法は、ちょっと調べたけどわからなかったのでひとまず放置してます。
  • Windows+J に割り当ててるのは、単にそこが空いてたからです。