作者kslman ()
看板EzHotKey
標題[AHK-] 想用滑鼠滾輪讓當前視窗調整透明度
時間Fri Jun 11 00:52:27 2010
我希望達到的目的是讓變數變化,然後把視窗透明度指定為變化後的變數。如下:
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
1F:推 arj32:按方案1,你把tran = 100放在整個腳本第一行 06/11 07:45
成功了,改成第一行就可以了...
研究了一下終於原因了,原來我有一個熱鍵功能沒有加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)