调用API
添加 DLL 命令
.版本 2
.DLL命令 设置透明, 整数型, , "SetLayeredWindowAttributes"
.参数 hwnd, 整数型
.参数 crkey, 整数型
.参数 alpha, 字节型
.参数 dwflags, 整数型
.DLL命令 取窗口风格, 整数型, , "GetWindowLongA"
.参数 hwnd, 整数型
.参数 nindex, 整数型
.DLL命令 设置窗口, 整数型, , "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nindex, 整数型
.参数 dwnewlong, 整数型
比如我要让_启动窗口透明
.版本 2
_启动窗口.底色 = #品红
设置窗口 (取窗口句柄 (), -20, 位或 (取窗口风格 (取窗口句柄 (), -20), 524288))
设置透明 (取窗口句柄 (), #品红, 200, 1)
这样窗口就透明了, 可以在里面添加透明标签来显示歌词。
我只能实现这个效果的桌面歌词:
实现方法:
首先插入一个窗口,里面要有透明标签
然后在这个窗口的程序集里加入类似如下的代码:
.版本 2
.支持库 iext
.子程序 _桌面歌词窗口_创建完毕
宽度 = 取屏幕宽度 ()
左边 = 0
透明标签1.宽度 = 宽度
置窗口透明 (取窗口句柄 (), #品红)
顶边 = 取屏幕高度 () - 高度 - 20
.子程序 _透明标签1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
发送信息 (274, 61458, 0)
.子程序 置窗口透明, , , 只有窗口透明,但窗口组件不会透明
.参数 窗口句柄, 整数型
.参数 窗口底色, 整数型, , 不能为默认底色
设置窗口 (窗口句柄, -20, 位或 (取窗口风格 (窗口句柄, -20), 524288))
设置透明 (窗口句柄, 窗口底色, 200, 1)
还需调用以下dll命令:
.版本 2
.DLL命令 设置透明, 整数型, , "SetLayeredWindowAttributes"
.参数 hwnd, 整数型
.参数 crkey, 整数型
.参数 alpha, 字节型
.参数 dwflags, 整数型
.DLL命令 取窗口风格, 整数型, , "GetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.DLL命令 设置窗口, 整数型, , "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong
然后只需要让透明标签显示歌词就行了
建议把歌词窗口设为总在最前。还需要注意的是底色不能为默认底色,且不能与透明标签的颜色一样,不过建议让颜色很像透明标签的颜色