マニュアル > Tips一覧 > AutoHotKey > パネルを自動的に隠す

「マニュアル/Tips一覧/AutoHotKey/パネルを自動的に隠す」の編集履歴(バックアップ)一覧はこちら

マニュアル/Tips一覧/AutoHotKey/パネルを自動的に隠す - (2010/09/19 (日) 10:38:40) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

- やや修正 -- 名無し (2010-01-19 01:41:55) - やや修正 -- 名無し (2010-01-23 07:06:35) - ナビゲータも消せるように。1辺の周辺を反応範囲にできるように。ほかやや修正。 -- 名無し (2010-04-05 09:16:30) #comment(,disableurl) #highlight(lisp){{ ;////////////////////////////////////////////////////////// ; HkSaiパネラー ; 無保証・再配布・改変自由 ; ; 動作 AutoHotKey 1.0.48.05 ; 推奨 SAI 1.1.0 ; ; 使用法 ;  指定したパネルからカーソルが遠ざかるとパネルが隠れます。 ;  ひらがなカタカナキーで機能の停止・再開が切り替えできます。 ; ; 2010/09/19 透明度の取得が不安定なのでScript側で管理する方式に変更。 ; 2010/04/05 ウィンドウの非表示方法を、透明度を0にする方式に変更。 ; 2010/01/23 HIDE/SHOWが遅いので、DLL直に変更。 ホットキー押してる時だけ表示(AllShowRealtime())追加 ; 2010/01/10 修正 ; 2009/12/26 ;  作成 ; ;----------------------------------------------------------- ; 設定 ;----------------------------------------------------------- ;パネル全体指定の場合 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadLeave:=-30 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadClose:=10 ;辺指定の場合 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadRectLeave:=-70 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadRectClose:=50 ;マウスをチェックする間隔(ms) TimerMiliSec:=50 ;消すパネルを選ぶ 0=消さない 1=消す ;ツールパネルを消す SW_TOOL:= 0 ;カラーパネルを消す SW_COL:= 1 ;レイヤーパネルを消す SW_LAY:= 1 ;ナビゲータを消す SW_NAV:= 1 ;マウスの反応範囲 ; ... 0 パネルを中心 ; ... 1 ..xx ; ... 2 右辺を中心 ; ... 3 ..xx ; ... 4 左辺を中心 ;ツールパレット HEN_TOOL:= 0 ;カラーパレット HEN_COL:= 0 ;レイヤパレット HEN_LAY:= 0 ;ナビゲ HEN_NAV:= 0 ;----------------------------------------------------------- ;設定ここまで ;----------------------------------------------------------- ;----------------------------------------------------------- ;初期化 ;----------------------------------------------------------- #MaxThreads 1 #MaxThreadsPerHotkey 1 #SingleInstance IGNORE #HotkeyInterval 1000 ; This is the default value (milliseconds). #MaxHotkeysPerInterval 50 ; This is the default value. Menu, Tray,Icon, .\panel.ico CoordMode, Mouse, Screen ForceToShow:=0 IsPanelVisible:=1 VISIBLE:=255 INVISIBLE:=0 ;透過値管理 aTOL:="" aCOL:="" aLAY:="" aNAV:="" ;パネル検索用データ TA_TOOL:="ツール ahk_class sfl_window_class" TA_COL:="カラー ahk_class sfl_window_class" TA_LAY:="レイヤー ahk_class sfl_window_class" TA_NAV:="ナビゲータ ahk_class sfl_window_class" ;対象パネルの情報を取得 /* SetTitleMatchMode,3 if (SW_TOOL=1){ WinGet, temp1, ID, %TA_TOOL% ;hWnd_TOOL:=temp1 ;TA_TOOL:="ahk_id " temp1 } if (SW_COL=1){ WinGet, temp2, ID, %TA_COL% ;hWnd_COL:=temp2 ;TA_COL:="ahk_id " temp2 } if (SW_LAY=1){ WinGet, temp3, ID, %TA_LAY% ;hWnd_LAY:=temp3 ;TA_LAY:="ahk_id " temp3 } if (SW_NAV=1){ WinGet, temp3, ID, %TA_NAV% ;hWnd_NAV:=temp3 ;TA_NAV:="ahk_id " temp3 } SetTitleMatchMode,1 */ ;終了時 OnExit, ExitSub ; ;MsgBox, 4160, , OKを押すとHkSaiパネラー動作開始します ;タイマー SetTimer, MouseCheck, %TimerMiliSec% return ;------------------------------------------------------------- ;以下ルーチン ;----------------------------------------------------------- ShowWindow(switch,TA) ;----------------------------------------------------------- ;ウィンドウの表示/非表示を切替 ; switch … 0=Hide 1=Show ;----------------------------------------------------------- { global VISIBLE,INVISIBLE ;tooltip %TA% a:="" if(switch=0){ WinSet, Trans, %INVISIBLE%, %TA% a:=INVISIBLE } if(switch=1){ WinSet, Trans, %VISIBLE%, %TA% a:=VISIBLE } return a } AllShow() ;----------------------------------------------------------- ; 基本機能のオンオフ切替 ;----------------------------------------------------------- { global TA_TOOL,TA_COL,TA_LAY,TA_NAV global ForceToShow global aTOL,aCOL,aLAY,aNAV if(ForceToShow=0){ SetTimer, MouseCheck, Off aTOL:=ShowWindow(1,TA_TOOL) aCOL:=ShowWindow(1,TA_COL) aLAY:=ShowWindow(1,TA_LAY) aNAV:=ShowWindow(1,TA_NAV) ForceToShow:=1 return } if(ForceToShow=1){ SetTimer, MouseCheck, On ForceToShow:=0 return } return } AllShowRealtime() ;----------------------------------------------------------- ; 基本機能のオンオフ切替 (押してる間だけ) ;----------------------------------------------------------- { PushThishotkey=%A_Thishotkey% global TA_TOOL,TA_COL,TA_LAY,TA_NAV global ForceToShow global aTOL,aCOL,aLAY,aNAV ;機能停止 SetTimer, MouseCheck, Off aTOL:=ShowWindow(1,TA_TOOL) aCOL:=ShowWindow(1,TA_COL) aLAY:=ShowWindow(1,TA_LAY) aNAV:=ShowWindow(1,TA_NAV) ForceToShow:=1 ;待ち UpKeyAlert:=0 loop{ sleep,100 GetKeyState, Stat, %PushThishotkey% If (Stat="U"){ break } ;sleep,5000 } ;機能再開 SetTimer, MouseCheck, On ForceToShow:=0 return } AllHide() ;----------------------------------------------------------- ; すべてのパネルを隠す ;----------------------------------------------------------- { global SW_TOOL,SW_COL,SW_LAY,SW_NAV global TA_TOOL,TA_COL,TA_LAY,TA_NAV global aTOL,aCOL,aLAY,aNAV if SW_TOOL=1 aTOL:=ShowWindow(0,TA_TOOL) if SW_COL=1 aCOL:=ShowWindow(0,TA_COL) if SW_LAY=1 aLAY:=ShowWindow(0,TA_LAY) if SW_NAV=1 aNAV:=ShowWindow(0,TA_NAV) return } IsHit(X,Y,XL,YU,XR,YB,IsPanelVisible,Rect) ;----------------------------------------------------------- ; 二つの矩形の当たり判定を行う ; X,Y … マウス位置 ; XL,YU,XR,YB … 矩形2 ; IsPanelVisible… パネルが表示されてるかどうか ; Rect ... 0 無指定 ; ... 1 上辺..未実装(ごめんネ!) ; ... 2 右辺 ; ... 3 下辺..未実装(ごめんネ!) ; ... 4 左辺 ;----------------------------------------------------------- { global PadLeave,PadClose,PadRectLeave,PadRectClose global VISIBLE,INVISIBLE hit:=0 ;初回処理 if(IsPanelVisible=""){ t:="初回" } ;パネルがない時(パネルに近づくとき) if(IsPanelVisible=INVISIBLE){ t:="近" ;左辺 if (Rect=4){ if( ( XL < X ) && ( X < XL + PadRectClose ) && ( YU < Y ) && ( Y < YB ) ){ hit:=1 } } ;右辺 if (Rect=2){ if( ( XR - PadRectClose < X ) && ( X < XR ) && ( YU < Y ) && ( Y < YB ) ){ hit:=1 } } ;無指定(中心) if (Rect=0){ if( ( XL + PadClose < X ) && ( X < XR - PadClose ) && ( YU + PadClose < Y ) && (Y < YB - PadClose ) ){ hit:=1 } } } ;パネルがある時(パネルから離れるとき) if(IsPanelVisible=VISIBLE){ t:="離" /* ;左辺 if (Rect=4){ ;if( ( XL + PadRectLeave < X ) && ( X < XR - PadRectLeave ) && ( YU + PadRectLeave < Y ) && ( Y < YB - PadRectLeave ) ){ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 ;return true } } ;右辺 if (Rect=2){ ;if( ( XL + PadRectLeave < X ) && ( X < XR - PadRectLeave ) && ( YU + PadRectLeave < Y ) && ( Y < YB - PadRectLeave ) ){ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 ;return true } } ;無指定(中心) if (Rect=0){ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 ;return true } } */ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 } } ;tooltip, hit=%hit% t=%t% X=%X% Y=%Y% XL=%XL% YU=%YU% XR=%XR% YB=%YB% IsPanelVisible=%IsPanelVisible% Rect=%Rect% if (hit=1){ return true } else { return false } } MouseCheck: ;----------------------------------------------------------- ;マウスチェック処理 ;----------------------------------------------------------- If !WinActive("ahk_class sfl_window_class"){ AllHide() return } loop{ LButtonStat:=GetKeyState("LButton") If (LButtonStat=0) break sleep,100 } MouseGetPos, X , Y ;global aTOL,aCOL,aLAY,aNAV if (SW_TOOL=1){ ;// ツール ////////////////////// ;ウィンドウある? ;WinGet, IsPanelVisible , Transparent, %TA_TOOL%] IsPanelVisible:=aTOL ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aTOL:=ShowWindow(0,TA_TOOL) } WinGetPos, X1, Y1, W, H, %TA_TOOL% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_TOOL) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aTOL:=ShowWindow(1,TA_TOOL) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aTOL:=ShowWindow(0,TA_TOOL) ;//////////////////////// } if (SW_COL=1){ ;// カラー ////////////////////// ;ウィンドウある? IsPanelVisible:=aCOL ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aCOL:=ShowWindow(0,TA_COL) } WinGetPos, X1, Y1, W, H, %TA_COL% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_COL) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aCOL:=ShowWindow(1,TA_COL) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aCOL:=ShowWindow(0,TA_COL) ;//////////////////////// } if (SW_LAY=1){ ;// レイヤー ////////////////////// ;ウィンドウある? IsPanelVisible:=aLAY ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aLAY:=ShowWindow(0,TA_LAY) } WinGetPos, X1, Y1, W, H, %TA_LAY% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_LAY) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aLAY:=ShowWindow(1,TA_LAY) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aLAY:=ShowWindow(0,TA_LAY) ;//////////////////////// } if (SW_NAV=1){ ;// ナビゲータ ////////////////////// ;ウィンドウある? IsPanelVisible:=aNAV ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aNAV:=ShowWindow(0,TA_NAV) } WinGetPos, X1, Y1, W, H, %TA_NAV% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_NAV) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aNAV:=ShowWindow(1,TA_NAV) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aNAV:=ShowWindow(0,TA_NAV) ;//////////////////////// } return ExitSub: ;----------------------------------------------------------- ;終了処理 ;----------------------------------------------------------- SetTimer, MouseCheck, Off if SW_TOOL=1 aTOL:=ShowWindow(1,TA_TOOL) if SW_COL=1 ShowWindow(1,TA_COL) if SW_LAY=1 ShowWindow(1,TA_LAY) if SW_NAV=1 ShowWindow(1,TA_NAV) exitapp ;----------------------------------------------------------- ;----------------------------------------------------------- #IfWinActive, SAI ahk_class sfl_window_class ;vkF2sc070::AllShow() ;ひらがなカタカナキーvkF2sc070: vkF2sc070::AllShowRealtime() ;ひらがなカタカナキーvkF2sc070: ;ボタン割り当て時 numpad5::AllShowRealtime() ;----------------------------------------------------------- #IfWinActive ~^F12::Reload }}
- やや修正 -- 名無し (2010-01-19 01:41:55) - やや修正 -- 名無し (2010-01-23 07:06:35) - ナビゲータも消せるように。1辺の周辺を反応範囲にできるように。ほかやや修正。 -- 名無し (2010-04-05 09:16:30) - 透明度の取得が不安定なのでScript側で管理する方式に変更。 -- 名無し (2010-09-19 10:38:40) #comment(,disableurl) #highlight(lisp){{ ;////////////////////////////////////////////////////////// ; HkSaiパネラー ; 無保証・再配布・改変自由 ; ; 動作 AutoHotKey 1.0.48.05 ; 推奨 SAI 1.1.0 ; ; 使用法 ;  指定したパネルからカーソルが遠ざかるとパネルが隠れます。 ;  ひらがなカタカナキーで機能の停止・再開が切り替えできます。 ; ; 2010/09/19 透明度の取得が不安定なのでScript側で管理する方式に変更。 ; 2010/04/05 ウィンドウの非表示方法を、透明度を0にする方式に変更。 ; 2010/01/23 HIDE/SHOWが遅いので、DLL直に変更。 ホットキー押してる時だけ表示(AllShowRealtime())追加 ; 2010/01/10 修正 ; 2009/12/26 ;  作成 ; ;----------------------------------------------------------- ; 設定 ;----------------------------------------------------------- ;パネル全体指定の場合 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadLeave:=-30 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadClose:=10 ;辺指定の場合 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadRectLeave:=-70 ; この数が多いほど、検出範囲は実際のウィンドウサイズより内側になる。 PadRectClose:=50 ;マウスをチェックする間隔(ms) TimerMiliSec:=50 ;消すパネルを選ぶ 0=消さない 1=消す ;ツールパネルを消す SW_TOOL:= 0 ;カラーパネルを消す SW_COL:= 1 ;レイヤーパネルを消す SW_LAY:= 1 ;ナビゲータを消す SW_NAV:= 1 ;マウスの反応範囲 ; ... 0 パネルを中心 ; ... 1 ..xx ; ... 2 右辺を中心 ; ... 3 ..xx ; ... 4 左辺を中心 ;ツールパレット HEN_TOOL:= 0 ;カラーパレット HEN_COL:= 0 ;レイヤパレット HEN_LAY:= 0 ;ナビゲ HEN_NAV:= 0 ;----------------------------------------------------------- ;設定ここまで ;----------------------------------------------------------- ;----------------------------------------------------------- ;初期化 ;----------------------------------------------------------- #MaxThreads 1 #MaxThreadsPerHotkey 1 #SingleInstance IGNORE #HotkeyInterval 1000 ; This is the default value (milliseconds). #MaxHotkeysPerInterval 50 ; This is the default value. Menu, Tray,Icon, .\panel.ico CoordMode, Mouse, Screen ForceToShow:=0 IsPanelVisible:=1 VISIBLE:=255 INVISIBLE:=0 ;透過値管理 aTOL:="" aCOL:="" aLAY:="" aNAV:="" ;パネル検索用データ TA_TOOL:="ツール ahk_class sfl_window_class" TA_COL:="カラー ahk_class sfl_window_class" TA_LAY:="レイヤー ahk_class sfl_window_class" TA_NAV:="ナビゲータ ahk_class sfl_window_class" ;対象パネルの情報を取得 /* SetTitleMatchMode,3 if (SW_TOOL=1){ WinGet, temp1, ID, %TA_TOOL% ;hWnd_TOOL:=temp1 ;TA_TOOL:="ahk_id " temp1 } if (SW_COL=1){ WinGet, temp2, ID, %TA_COL% ;hWnd_COL:=temp2 ;TA_COL:="ahk_id " temp2 } if (SW_LAY=1){ WinGet, temp3, ID, %TA_LAY% ;hWnd_LAY:=temp3 ;TA_LAY:="ahk_id " temp3 } if (SW_NAV=1){ WinGet, temp3, ID, %TA_NAV% ;hWnd_NAV:=temp3 ;TA_NAV:="ahk_id " temp3 } SetTitleMatchMode,1 */ ;終了時 OnExit, ExitSub ; ;MsgBox, 4160, , OKを押すとHkSaiパネラー動作開始します ;タイマー SetTimer, MouseCheck, %TimerMiliSec% return ;------------------------------------------------------------- ;以下ルーチン ;----------------------------------------------------------- ShowWindow(switch,TA) ;----------------------------------------------------------- ;ウィンドウの表示/非表示を切替 ; switch … 0=Hide 1=Show ;----------------------------------------------------------- { global VISIBLE,INVISIBLE ;tooltip %TA% a:="" if(switch=0){ WinSet, Trans, %INVISIBLE%, %TA% a:=INVISIBLE } if(switch=1){ WinSet, Trans, %VISIBLE%, %TA% a:=VISIBLE } return a } AllShow() ;----------------------------------------------------------- ; 基本機能のオンオフ切替 ;----------------------------------------------------------- { global TA_TOOL,TA_COL,TA_LAY,TA_NAV global ForceToShow global aTOL,aCOL,aLAY,aNAV if(ForceToShow=0){ SetTimer, MouseCheck, Off aTOL:=ShowWindow(1,TA_TOOL) aCOL:=ShowWindow(1,TA_COL) aLAY:=ShowWindow(1,TA_LAY) aNAV:=ShowWindow(1,TA_NAV) ForceToShow:=1 return } if(ForceToShow=1){ SetTimer, MouseCheck, On ForceToShow:=0 return } return } AllShowRealtime() ;----------------------------------------------------------- ; 基本機能のオンオフ切替 (押してる間だけ) ;----------------------------------------------------------- { PushThishotkey=%A_Thishotkey% global TA_TOOL,TA_COL,TA_LAY,TA_NAV global ForceToShow global aTOL,aCOL,aLAY,aNAV ;機能停止 SetTimer, MouseCheck, Off aTOL:=ShowWindow(1,TA_TOOL) aCOL:=ShowWindow(1,TA_COL) aLAY:=ShowWindow(1,TA_LAY) aNAV:=ShowWindow(1,TA_NAV) ForceToShow:=1 ;待ち UpKeyAlert:=0 loop{ sleep,100 GetKeyState, Stat, %PushThishotkey% If (Stat="U"){ break } ;sleep,5000 } ;機能再開 SetTimer, MouseCheck, On ForceToShow:=0 return } AllHide() ;----------------------------------------------------------- ; すべてのパネルを隠す ;----------------------------------------------------------- { global SW_TOOL,SW_COL,SW_LAY,SW_NAV global TA_TOOL,TA_COL,TA_LAY,TA_NAV global aTOL,aCOL,aLAY,aNAV if SW_TOOL=1 aTOL:=ShowWindow(0,TA_TOOL) if SW_COL=1 aCOL:=ShowWindow(0,TA_COL) if SW_LAY=1 aLAY:=ShowWindow(0,TA_LAY) if SW_NAV=1 aNAV:=ShowWindow(0,TA_NAV) return } IsHit(X,Y,XL,YU,XR,YB,IsPanelVisible,Rect) ;----------------------------------------------------------- ; 二つの矩形の当たり判定を行う ; X,Y … マウス位置 ; XL,YU,XR,YB … 矩形2 ; IsPanelVisible… パネルが表示されてるかどうか ; Rect ... 0 無指定 ; ... 1 上辺..未実装(ごめんネ!) ; ... 2 右辺 ; ... 3 下辺..未実装(ごめんネ!) ; ... 4 左辺 ;----------------------------------------------------------- { global PadLeave,PadClose,PadRectLeave,PadRectClose global VISIBLE,INVISIBLE hit:=0 ;初回処理 if(IsPanelVisible=""){ t:="初回" } ;パネルがない時(パネルに近づくとき) if(IsPanelVisible=INVISIBLE){ t:="近" ;左辺 if (Rect=4){ if( ( XL < X ) && ( X < XL + PadRectClose ) && ( YU < Y ) && ( Y < YB ) ){ hit:=1 } } ;右辺 if (Rect=2){ if( ( XR - PadRectClose < X ) && ( X < XR ) && ( YU < Y ) && ( Y < YB ) ){ hit:=1 } } ;無指定(中心) if (Rect=0){ if( ( XL + PadClose < X ) && ( X < XR - PadClose ) && ( YU + PadClose < Y ) && (Y < YB - PadClose ) ){ hit:=1 } } } ;パネルがある時(パネルから離れるとき) if(IsPanelVisible=VISIBLE){ t:="離" /* ;左辺 if (Rect=4){ ;if( ( XL + PadRectLeave < X ) && ( X < XR - PadRectLeave ) && ( YU + PadRectLeave < Y ) && ( Y < YB - PadRectLeave ) ){ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 ;return true } } ;右辺 if (Rect=2){ ;if( ( XL + PadRectLeave < X ) && ( X < XR - PadRectLeave ) && ( YU + PadRectLeave < Y ) && ( Y < YB - PadRectLeave ) ){ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 ;return true } } ;無指定(中心) if (Rect=0){ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 ;return true } } */ if( ( XL + PadLeave < X ) && ( X < XR - PadLeave ) && ( YU + PadLeave < Y ) && ( Y < YB - PadLeave ) ){ hit:=1 } } ;tooltip, hit=%hit% t=%t% X=%X% Y=%Y% XL=%XL% YU=%YU% XR=%XR% YB=%YB% IsPanelVisible=%IsPanelVisible% Rect=%Rect% if (hit=1){ return true } else { return false } } MouseCheck: ;----------------------------------------------------------- ;マウスチェック処理 ;----------------------------------------------------------- If !WinActive("ahk_class sfl_window_class"){ AllHide() return } loop{ LButtonStat:=GetKeyState("LButton") If (LButtonStat=0) break sleep,100 } MouseGetPos, X , Y ;global aTOL,aCOL,aLAY,aNAV if (SW_TOOL=1){ ;// ツール ////////////////////// ;ウィンドウある? ;WinGet, IsPanelVisible , Transparent, %TA_TOOL%] IsPanelVisible:=aTOL ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aTOL:=ShowWindow(0,TA_TOOL) } WinGetPos, X1, Y1, W, H, %TA_TOOL% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_TOOL) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aTOL:=ShowWindow(1,TA_TOOL) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aTOL:=ShowWindow(0,TA_TOOL) ;//////////////////////// } if (SW_COL=1){ ;// カラー ////////////////////// ;ウィンドウある? IsPanelVisible:=aCOL ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aCOL:=ShowWindow(0,TA_COL) } WinGetPos, X1, Y1, W, H, %TA_COL% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_COL) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aCOL:=ShowWindow(1,TA_COL) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aCOL:=ShowWindow(0,TA_COL) ;//////////////////////// } if (SW_LAY=1){ ;// レイヤー ////////////////////// ;ウィンドウある? IsPanelVisible:=aLAY ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aLAY:=ShowWindow(0,TA_LAY) } WinGetPos, X1, Y1, W, H, %TA_LAY% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_LAY) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aLAY:=ShowWindow(1,TA_LAY) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aLAY:=ShowWindow(0,TA_LAY) ;//////////////////////// } if (SW_NAV=1){ ;// ナビゲータ ////////////////////// ;ウィンドウある? IsPanelVisible:=aNAV ;消す2(起動したてのときなど) if (IsPanelVisible=""){ aNAV:=ShowWindow(0,TA_NAV) } WinGetPos, X1, Y1, W, H, %TA_NAV% hit:=IsHit(X,Y, X1,Y1,X1+W,Y1+H,IsPanelVisible,HEN_NAV) ;出す if (hit=1 && IsPanelVisible=INVISIBLE) aNAV:=ShowWindow(1,TA_NAV) ;消す if (hit=0 && IsPanelVisible=VISIBLE && ForceToShow=0) aNAV:=ShowWindow(0,TA_NAV) ;//////////////////////// } return ExitSub: ;----------------------------------------------------------- ;終了処理 ;----------------------------------------------------------- SetTimer, MouseCheck, Off if SW_TOOL=1 aTOL:=ShowWindow(1,TA_TOOL) if SW_COL=1 ShowWindow(1,TA_COL) if SW_LAY=1 ShowWindow(1,TA_LAY) if SW_NAV=1 ShowWindow(1,TA_NAV) exitapp ;----------------------------------------------------------- ;----------------------------------------------------------- #IfWinActive, SAI ahk_class sfl_window_class ;vkF2sc070::AllShow() ;ひらがなカタカナキーvkF2sc070: vkF2sc070::AllShowRealtime() ;ひらがなカタカナキーvkF2sc070: ;ボタン割り当て時 numpad5::AllShowRealtime() ;----------------------------------------------------------- #IfWinActive ~^F12::Reload }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: