找回密码
 加入
搜索
楼主: tisiem

[GUI管理] 难度效果:如何让窗口内容变得象壁纸那样?

 火.. [复制链接]
发表于 2011-1-10 21:39:47 | 显示全部楼层
搞定了,效果我自己也挺满意,果然够蛋疼,楼主自己测试看看效果如何。

默认设置了热键:F1、F2、F3

演示程序和源码均在附件,哥最近很穷,收取10块论坛币酬劳费。

本帖子中包含更多资源

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

×
发表于 2011-1-10 21:53:24 | 显示全部楼层
简化版
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <winapi.au3>

$Form1 = GUICreate("Form1", 625, 445,-1,-1,-1,BitOR($WS_EX_LAYERED, $WS_EX_TRANSPARENT))
_WinAPI_SetLayeredWindowAttributes($Form1,0x010101)
GUISetState()

Do
Until GUIGetMsg()= -3

评分

参与人数 1金钱 +10 收起 理由
tryhi + 10 鼠标穿透原来可以这样

查看全部评分

 楼主| 发表于 2011-1-10 23:54:12 | 显示全部楼层
回复 16# kodin

哈,兄弟辛苦了。关于蛋疼,请参考此贴:
http://www.autoitx.com/thread-20920-1-1.html

呵呵,再来挑挑你写的测试,还是没有实现“就象桌面背景一样”啊,你现在的效果,是不管我打开了什么,你这个窗口都会在最顶层,而我想要的,应该是说它处于最底层,底层到桌面图标都在其上。你看看图:


还有一个奇怪的BUG,我拖动这个窗口,经过地址栏之后,窗口的内容不能更新了,我截了图。



呵呵,不过对我还有其它的参考意义的,谢谢兄弟了,君之疾在蛋里,不治将疼。

本帖子中包含更多资源

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

×
 楼主| 发表于 2011-1-11 00:02:08 | 显示全部楼层
回复 12# tryhi


   正是正是,我要做的是备忘的功能如果长期处在顶层,会让人烦,老有那些事,如果不见了,也许就会忘了。如果是在桌面上,象桌布那样,那就会有机会一眼扫到,但不影响做事。
 楼主| 发表于 2011-1-11 00:03:24 | 显示全部楼层
回复 13# 3mile


    很有内涵的头像……呵呵,谢谢啦。
 楼主| 发表于 2011-1-11 00:03:44 | 显示全部楼层
回复 14# ceoguang


    来论坛看美女头像已经成了我的爱好之一……
 楼主| 发表于 2011-1-11 00:15:02 | 显示全部楼层
回复 15# kodin


    呵呵,高手兄弟,我补充了一下效果图,这是我用图片处理做出来的。

本帖子中包含更多资源

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

×
发表于 2011-1-11 09:41:50 | 显示全部楼层
哈,兄弟辛苦了。关于蛋疼,请参考此贴:
http://www.autoitx.com/thread-20920-1-1.html
发表于 2011-1-11 13:15:51 | 显示全部楼层
果然是超级蛋疼,方法应该是有的,不过估计要慢慢揉揉蛋蛋才会出来....
 楼主| 发表于 2011-1-12 08:38:20 | 显示全部楼层
搓揉中…… 难道还是得把VC请出来?
发表于 2011-1-13 18:40:02 | 显示全部楼层
http://tctianchi.yo2.cn/articles ... b9%8b%e4%b8%8b.html

有个博客地址可以看一下...
发表于 2011-1-13 22:35:29 | 显示全部楼层
我很蛋疼的尝试了N种方法,最终结果:窗体可以做到在图标下面,可是相关的控件死活不行,而且还存在一个重绘问题。再蛋疼看看能不能突破,不行只能放弃了,期待牛人出招.....
发表于 2011-1-14 09:13:10 | 显示全部楼层
继续蛋定啊
发表于 2011-1-14 15:19:29 | 显示全部楼层
学习了,感谢各位大侠分享。

谢谢3mile ,示例的效果很精美。
发表于 2011-1-14 23:04:30 | 显示全部楼层
试试这样。
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <FontConstants.au3>

Global $tRECT, $hFont, $hOldFont, $hDC

HotKeySet("{ESC}", "_Exit")

$tRECT = DllStructCreate($tagRect)
DllStructSetData($tRECT, "Left", 5)
DllStructSetData($tRECT, "Top", 5)
DllStructSetData($tRECT, "Right", 650)
DllStructSetData($tRECT, "Bottom", 100)

$hDC = _WinAPI_GetDC(0)
$hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
        $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$hOldFont = _WinAPI_SelectObject($hDC, $hFont)

_WinAPI_SetTextColor($hDC, 0x0000FF)
_WinAPI_SetBkColor($hDC, 0x000000)
_WinAPI_SetBkMode($hDC, $TRANSPARENT)

While 1
    _WinAPI_DrawText($hDC, "请修改你要显示的文本"&@CRLF&"第二行 ----", $tRECT, $DT_LEFT)
    Sleep(1000)
WEnd

Func _Exit()
    _WinAPI_SelectObject($hDC, $hOldFont)
    _WinAPI_DeleteObject($hFont)
    _WinAPI_ReleaseDC(0, $hDC)
    _WinAPI_InvalidateRect(0, 0)
    $tRECT = 0
    Exit
EndFunc      
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-4 10:43 , Processed in 0.075884 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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