找回密码
 加入
搜索
查看: 9316|回复: 16

[系统综合] 求助GUI背景透明

  [复制链接]
发表于 2015-8-4 12:01:19 | 显示全部楼层 |阅读模式
想设计一个窗口.背景透明,按钮,文字等都不透明....但是鼠标点击透明的地方仍然是点着的是这个窗口.而不是透明的就透掉了.镂空了.直接点到下面的东西了....
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WINAPI.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 300, 300, 300, 300,$WS_POPUP, BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))
GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF)
$Button1 = GUICtrlCreateButton("Button1", 24, 16, 105, 33)
$Label1 = GUICtrlCreateLabel("Label1", 160, 200, 132, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1        
        EndSwitch
WEnd
 楼主| 发表于 2015-8-4 12:05:05 | 显示全部楼层
本帖最后由 枫飞秋语 于 2015-8-4 12:06 编辑

胡乱试了下_WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF,1) (255---1)相当于透明的也点不到下面的东西.但是按钮,文字也透了看不见了!
发表于 2015-8-4 15:03:49 | 显示全部楼层




看看对你有帮助吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2015-8-4 15:34:52 | 显示全部楼层
回复 3# ap112

谢谢.不过这个效果不是我想要的...
这么解释吧.比如我想移动这个窗口.必需鼠标点击龙字的笔画上,点他笔画间的透明处,就等于点到下面那个窗口去了.....我想要的就是点着笔画间的透明处也还属于点龙字本身存在的窗口
发表于 2015-8-4 15:51:30 | 显示全部楼层
回复  ap112

谢谢.不过这个效果不是我想要的...
这么解释吧.比如我想移动这个窗口.必需鼠标点击龙字的 ...
枫飞秋语 发表于 2015-8-4 15:34



    你到底想要啥呀,能表达清楚不?看看你的描述,不清不楚。
发表于 2015-8-4 15:52:50 | 显示全部楼层
回复  ap112

谢谢.不过这个效果不是我想要的...
这么解释吧.比如我想移动这个窗口.必需鼠标点击龙字的 ...
枫飞秋语 发表于 2015-8-4 15:34



    你到底想要啥呀,能表达清楚不?看看你的描述,不清不楚。




这个呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2015-8-4 16:41:34 | 显示全部楼层
回复 6# ap112


这个是WIN7的么?等会我找WIN7的电脑试试....

我想表达的是 鼠标点击透明的位置不穿透.... 不知道是不是这样表达
 楼主| 发表于 2015-8-4 18:41:02 | 显示全部楼层
回复 6# ap112

啊,我要疯了..怎么解释呢...窗口全屏,无边框.背景透明.只有一个按钮显示出来.但是点任何透明的地方鼠标不会穿透从而点到下面的窗口去(点到桌面的东西).....

我瞎做了一个,先一个窗口透明度1 (如果透明度为0,就会穿透了),然后一个只做了按钮的无边窗口,循环置顶,要不然点了全屏窗口.就点不到按钮了,但是这样的话按钮弹出的东西又被他置顶害得点不到了..您看下我乱写的吧,,就是要这样的效果..点不了桌面的东西只能点按钮~!
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WINAPI.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1",  530, 530, 0, 0,$WS_POPUP, BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))
WinSetTrans("Form1", "",1)
GUISetState(@SW_SHOW)
GUISetState(@SW_MAXIMIZE)
$Form2 = GUICreate("Form2", 180, 80, 192, 124,$WS_POPUP)
$Button1 = GUICtrlCreateButton("Button1",  0, 0, 180, 80, BitOR($BS_DEFPUSHBUTTON,$BS_MULTILINE))
GUICtrlSetFont(-1, 16, 400, 0, "楷体_GB2312")
GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

                Case $Button1
                        cha()
        EndSwitch
        WinSetOnTop ("Form2","",1)
WEnd
Func cha()
MsgBox(1,"22222","2222",5)
        EndFunc
 楼主| 发表于 2015-8-4 18:42:08 | 显示全部楼层
回复 6# ap112


   嗯,就是要这样的透明效果..鼠标点透明的地方点不到桌面的东西...
可是我不会改按钮,,,而且有边框..
发表于 2015-8-4 20:32:48 | 显示全部楼层
正在学做透明窗~
发表于 2015-8-5 11:45:56 | 显示全部楼层
我测试你的第一脚本,完合符合你自己的要求的呀,你说的按钮也透明看不见的情况我这里没有,按钮还是正常的按钮,就是LABEL透明了,看不太清楚了,你使用GUICtrlSetBkColor给控件设置一个背景颜色不就好了吗?
 楼主| 发表于 2015-8-5 12:24:51 | 显示全部楼层
回复 11# luren666

第一个脚本是透明按钮显示,,但是鼠标在透明位置点击就穿透了,点到桌面的东西了。。。我想要的是鼠标掉透明的地方不穿透不能点到桌面的东西。
麻烦您帮看下这些的脚本。。。鼠标点击不穿透了但是按钮也跟着透明了
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WINAPI.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 300, 300, 300, 300,$WS_POPUP, BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))
;GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF,100) ;数值改成1,相当于透明但不会穿透点到桌面的东西,求如何不穿透,按钮也不被透明!
$Button1 = GUICtrlCreateButton("Button1", 24, 16, 105, 33)
$Label1 = GUICtrlCreateLabel("Label1", 160, 200, 132, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1        
        EndSwitch
WEnd
 楼主| 发表于 2015-8-5 12:29:37 | 显示全部楼层
本帖最后由 枫飞秋语 于 2015-8-5 13:54 编辑

回复 12# 枫飞秋语


    好吧。。。这样说,窗口背景透明度100(半透明),按钮不透明
 楼主| 发表于 2015-8-5 12:29:55 | 显示全部楼层
本帖最后由 枫飞秋语 于 2015-8-5 13:55 编辑

回复 6# ap112


        好吧。。。这样说,窗口背景透明度100(半透明),按钮不透明
发表于 2015-8-7 00:06:36 | 显示全部楼层
好像和系统有关系,经过我的测试,你的第一个脚本在I3的台式机,盗版WIN7旗舰版SP1上面运行,完全符合您自己的要求,按钮正常显示,窗口透明部分不会穿透,但是在我的ACER E5-572G-528R笔记本的正版WIN 8.1家庭版上面,按钮正常显示,但窗口透明部分点鼠标会穿透。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-3 09:26 , Processed in 0.088157 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表