这段代码实现了一个在屏幕上显示透明文字的效果,以下是代码的详细解读:
功能概要
- 滚动显示文字:代码在屏幕顶部从右到左滚动显示日期信息。
- 切换显示自定义消息:按下
F1键可以切换显示一条静态的“你好!”信息。 - 暂停功能:按下
Pause键可暂停脚本执行。
#NoEnv
SetBatchLines -1
SetWorkingDir %A_ScriptDir%
;-- 滚动显示信息的例子
txt:=A_YYYY "年" A_MM "月" A_DD "日"
Loop, % A_ScreenWidth
TransTip(txt, A_ScreenWidth-A_Index, 0, "s36 cRed bold")
return
Pause::Pause
F1:: (ok:=!ok) ? TransTip("你好!", 600, 200, "s72") : TransTip()
;------------------------------
; 显示透明文字函数:TransTip() By FeiYue
; s ------> 显示的文字,如果为空,会清除当前的显示
; x, y ---> 显示的屏幕坐标
; font ---> 设定字体大小、颜色和样式,采用Gui的Font命令格式
;------------------------------
TransTip(s="", x=500, y=0, font="s36 cRed bold")
{
static
if (s="")
{
last:=""
Gui, TransTip: Destroy
return
}
if (last != font "|" s)
{
last:=font "|" s, last_xy:=""
;------------------
Gui, TransTip: Destroy
Gui, TransTip: +AlwaysOnTop -Caption +ToolWindow +Hwndid +E0x20
Gui, TransTip: Margin, 0, 0
Gui, TransTip: Color, EEAA99
Gui, TransTip: Font, Q3 %font%
Gui, TransTip: Add, Text,, %s%
Gui, TransTip: Show, Hide, TransTip
;------------------
dhw:=A_DetectHiddenWindows
DetectHiddenWindows, On
WinSet, TransColor, EEAA99 150, ahk_id %id%
DetectHiddenWindows, %dhw%
}
Gui, TransTip: +AlwaysOnTop
if (last_xy != x "|" y)
{
last_xy:=x "|" y, x:=Round(x), y:=Round(y)
Gui, TransTip: Show, NA x%x% y%y%
}
}
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。

评论(0)