itljl 发表于 2010-1-21 23:14:12

如何只显示文字,不显示窗口。

本帖最后由 itljl 于 2010-1-21 23:47 编辑

要达到的目的就是只将天下无敌这几个字显示在桌面上。
窗口全透明。“天下无敌”这几个字不透明。

谢谢了。我试了好久,都不行。
样式不行。直接改窗口透明度,又整个连文字都透明了。

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


#Region ### START Koda GUI section ### Form=

$Form1 = GUICreate("tttt", 500, 500, -1, -1) ;$GUI_WS_EX_PARENTDRAG 允许拖动

$Label1 = GUICtrlCreateLabel("天下无敌", 2, 2, 158, 48, -1)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;~ _API_SetLayeredWindowAttributes($Form1, 0xABCDEF)


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

EndSwitch
WEnd

pusofalse 发表于 2010-1-21 23:19:06

1、http://www.google.cn/search?hl=zh-CN&source=hp&q=%E6%8F%90%E9%97%AE%E7%9A%84%E6%99%BA%E6%85%A7&aq=0&oq=%E6%8F%90%E9%97%AE
2、http://www.autoitx.com/search.php

afan 发表于 2010-1-21 23:29:32

#include <WindowsConstants.au3>

$Form1 = GUICreate("tttt", 500, 500, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
GUISetBkColor(0xABCDEF)
_API_SetLayeredWindowAttributes($Form1, 0xABCDEF)

$Label1 = GUICtrlCreateLabel("天下无敌", 2, 2, 158, 48, -1)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit

        EndSwitch
WEnd

Func _API_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $isColorRef = False)
        Local Const $AC_SRC_ALPHA = 1
        Local Const $ULW_ALPHA = 2
        Local Const $LWA_ALPHA = 0x2
        Local Const $LWA_COLORKEY = 0x1
        If Not $isColorRef Then
                $i_transcolor = Hex(String($i_transcolor), 6)
                $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
        EndIf
        Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $LWA_COLORKEY + $LWA_ALPHA)
        Select
                Case @error
                        Return SetError(@error, 0, 0)
                Case $Ret = 0
                        Return SetError(4, 0, 0)
                Case Else
                        Return 1
        EndSelect
EndFunc   ;==>_API_SetLayeredWindowAttributes

itljl 发表于 2010-1-21 23:41:07

本帖最后由 itljl 于 2010-1-21 23:49 编辑

回复 2# pusofalse

看过pusofalse朋友好多贴,的确写程序上是高手没错。但人人都是一路这么摸索着过来的。

我已经在主贴申明了,已经试过多种样式的组合,不成功。
试过直接改窗口透明度,不成功。
也试过,那个在桌面上透明的搜索框的程序,他的是成功的,但我就不成功。当然这是我技术不过关。
所以我发出来向大家请教和讨论。和我一样一个阶层的朋友共同进步。
并且我还以“透明”,“不透明”,“GUI”为关键字搜索过本论坛,但都无解。(我记得曾经有朋友解决过这个问题的,但是标题并不在这个关键字中,翻了几页都没有找到。)

如果你这样的回复也有用的话,我建议以后人人都复制这两个URL来复制。因为表面上看起来,这两个URL似乎能够解决一切问题。
实际上,很明显是行不通的,这样的复制反而是浪费论坛资源,不过是在MYSQL中多占几个字节而已。
韩信一生从未打过败仗,却被不学无术,贪财好色的刘帮给收复,最后给收拾了。这就是将才和帅才的区别。

到这里,我的意思是,既然pusofalse朋友是超级版主(帅才的位置),应该有版主(帅才)的表率。如果你觉得我这个问题过于简单,不屑回复,可以不回,不必浪费论坛资源回复无疑于灌水的东西于技术版块。

在我看来,你这个回复,除了浪费,无助于问题外,你这两个URL无疑在说,你去google和本论坛搜索就可以了,实在不应该发这样的贴子。还大大的打击了其它知道的朋友回复我这个问题的积极性,这是于论坛讨论,平等这个环境,大大不利的。有位版主曾说过“我或许不同意你说的话,但我坚决捍卫你说话的权利”。

就事论事而已,谢谢。
既然你回复并关注了此贴,我还是要说声谢谢。漫漫人生路,总要错几步,你我皆是凡人,与君共勉

itljl 发表于 2010-1-21 23:44:30

回复 3# afan


谢谢afan兄弟。
我明白自己错在那了。我之前的测试少了一个 GUISetBkColor(0xABCDEF)


_API_SetLayeredWindowAttributes($Form1, 0xABCDEF) 这个函数都是用上的。

pusofalse 发表于 2010-1-21 23:45:43

回复 4# itljl


    sorry,我错了。

itljl 发表于 2010-1-21 23:50:35

本帖最后由 itljl 于 2010-1-21 23:53 编辑

回复 6# pusofalse


千万别这么说。其实我很惭愧自己学艺不精。也怪自己看那个例子少看了一行!! ~_~! 我很希望这个论坛有一种热烈的讨论氛围。

remme 发表于 2010-1-21 23:53:03

本帖最后由 remme 于 2010-1-21 23:58 编辑

韩信能打仗,是干活的料,刘邦能招人管人用人,是领导的料。两个人都极其有自知之明,韩信宁愿就戮也不反刘邦事实上是正确的。两个人的历史位置其实都不错。

给两个链接也不错嘛,你只要说一句,链接都看过了,不管用就可以了,历史就别扯了,呵呵。。。。。

这个算不算灌水啊?

itljl 发表于 2010-1-21 23:54:49

回复 8# remme


哈哈,所以我希望超版pusofalse 能在技术高强之上进一步领导论坛发扬光大啊。

remme 发表于 2010-1-21 23:56:40

版主都是干活的,给我们这些菜鸟服务的,别要求太高了。能贴链接和代码的都是好版主。

不再说了,真成版聊了。

pusofalse 发表于 2010-1-22 00:10:11

本帖最后由 pusofalse 于 2010-1-22 00:11 编辑

或许是因为我在某个技术论坛待久了,被那里的人感染至深了,现在看到重复贴或者标题模糊的帖子就想关闭,感谢itljl兄给我提出的建议,以后我会三思后行。
版聊就此停住,只能在此帖下参与技术方面的讨论。再有版聊,果真会被屏蔽。
页: [1]
查看完整版本: 如何只显示文字,不显示窗口。