kodin 发表于 2011-1-10 21:39:47

{:face (356):}搞定了,效果我自己也挺满意,果然够蛋疼,楼主自己测试看看效果如何。

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

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

风行者 发表于 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

tisiem 发表于 2011-1-10 23:54:12

回复 16# kodin

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

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


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



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

tisiem 发表于 2011-1-11 00:02:08

回复 12# tryhi


   正是正是,我要做的是备忘的功能如果长期处在顶层,会让人烦,老有那些事,如果不见了,也许就会忘了。如果是在桌面上,象桌布那样,那就会有机会一眼扫到,但不影响做事。

tisiem 发表于 2011-1-11 00:03:24

回复 13# 3mile


    很有内涵的头像……呵呵,谢谢啦。

tisiem 发表于 2011-1-11 00:03:44

回复 14# ceoguang


    来论坛看美女头像已经成了我的爱好之一……

tisiem 发表于 2011-1-11 00:15:02

回复 15# kodin


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

455901394 发表于 2011-1-11 09:41:50

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

kodin 发表于 2011-1-11 13:15:51

{:face (245):}果然是超级蛋疼,方法应该是有的,不过估计要慢慢揉揉蛋蛋才会出来....

tisiem 发表于 2011-1-12 08:38:20

搓揉中…… 难道还是得把VC请出来?

llwslc 发表于 2011-1-13 18:40:02

http://tctianchi.yo2.cn/articles/%e5%b0%86%e7%aa%97%e5%8f%a3%e6%98%be%e7%a4%ba%e5%9c%a8%e6%a1%8c%e9%9d%a2%e4%b9%8b%e4%b8%8a%e3%80%81%e5%9b%be%e6%a0%87%e4%b9%8b%e4%b8%8b.html

有个博客地址可以看一下...

kodin 发表于 2011-1-13 22:35:29

我很蛋疼的尝试了N种方法,最终结果:窗体可以做到在图标下面,可是相关的控件死活不行,而且还存在一个重绘问题。再蛋疼看看能不能突破,不行只能放弃了,期待牛人出招.....

Netfox 发表于 2011-1-14 09:13:10

继续蛋定啊

6678720 发表于 2011-1-14 15:19:29

学习了,感谢各位大侠分享。
{:1_604:}
谢谢3mile ,示例的效果很精美。

lanfengc 发表于 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      
页: 1 [2]
查看完整版本: 难度效果:如何让窗口内容变得象壁纸那样?