作者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)