[AHK-] 想用滑鼠滾輪讓當前視窗調整透明度

看板EzHotKey作者時間15年前 (2010/06/11 00:52), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
我希望達到的目的是讓變數變化,然後把視窗透明度指定為變化後的變數。如下: tran = 100 ;先設定一個變數 !wheelup:: ;alt+滑鼠往上滾 tran := tran+50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數%tran% return !WheelDown:: ;alt+滑鼠往下滾 tran := tran-50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數%tran% return 結果是一滾動視窗透明度就變成0。 改成下面這樣: !wheelup:: ;alt+滑鼠往上滾 tran = 100 ntran := tran+50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %ntran%, a ;讓當前視窗透明度為變數%ntran% return !WheelDown:: ;alt+滑鼠往下滾 tran = 100 ntran := tran-50 ;把右邊計算結果丟進左邊 WinSet, Transparent, %ntran%, a ;讓當前視窗透明度為變數%ntran% return 結果是透明度只有150和50兩種... 這我知道笨在哪裡,因為每次動作一次又指定了一次變數。 那請問上面這樣寫是錯在哪裡呢?是因為全域變數不能再改變嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.34.51.142

06/11 07:45, , 1F
按方案1,你把tran = 100放在整個腳本第一行
06/11 07:45, 1F
成功了,改成第一行就可以了... 研究了一下終於原因了,原來我有一個熱鍵功能沒有加return...:p 調整了一下腳本,以免變數tran超出0~255範圍: !wheelup:: ;alt+滑鼠往上滾 tran := tran+30 ;把右邊計算結果丟進左邊 if tran >= 255 { tran = 255 } WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數tran return !WheelDown:: ;alt+滑鼠往下滾 tran := tran-60 ;把右邊計算結果丟進左邊 if tran <= 0 { tran = 0 } WinSet, Transparent, %tran%, a ;讓當前視窗透明度為變數tran return ※ 編輯: kslman 來自: 122.147.6.242 (06/11 13:40)
文章代碼(AID): #1C4HXEyI (EzHotKey)
文章代碼(AID): #1C4HXEyI (EzHotKey)