找回密码
 加入
搜索
查看: 1647|回复: 3

如何使计时器能够在背景图片上显示?

[复制链接]
发表于 2008-10-20 13:46:50 | 显示全部楼层 |阅读模式
代码如下,注意其中的语句:GUICtrlCreatePic("C:\WINDOWS\Web\Wallpaper\Wind.jpg",0,0,100,100)

有这句代码,计时器就不能计时;注释掉则正常。

如何使计时器能够在背景图片上显示?

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

Opt("TrayIconDebug", 1)
Opt("MustDeclareVars", 0)

Global $SideBar,$timer, $Secs, $Mins, $Hour, $Time

        $SideBar=GUICreate("Timer", 100, 100,-1,-1,2)

GUICtrlCreatePic("C:\WINDOWS\Web\Wallpaper\Wind.jpg",0,0,100,100)
                
GUICtrlCreateLabel("00 分 00 秒", 10, 20,90,20);创建 label 标签,用来显示时间
;GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

GUISetState()

        $timer = TimerInit()
        AdlibEnable("Timer", 50)
        ;
        While 1
                Sleep(100)
        WEnd

Func Timer()
        _TicksToTime(Int(TimerDiff($timer)),$Hour,$Mins, $Secs)
        Local $sTime = $Time 
        $Time = StringFormat("%02i 分 %02i 秒",$Mins, $Secs)
        If $sTime <> $Time Then ControlSetText("Timer", "", "Static1", $Time)
EndFunc   ;==>Timer


[ 本帖最后由 新手上路 于 2008-10-20 16:42 编辑 ]
发表于 2008-10-20 13:50:41 | 显示全部楼层
GuiCtrlSetState(-1,$GUI_DISABLE)

不过你的计时函数有问题。
 楼主| 发表于 2008-10-20 14:27:50 | 显示全部楼层
计时器函数有问题?

没有那句背景代码就能正常运行啊。
发表于 2008-10-20 16:24:31 | 显示全部楼层
自身修改用GUICTRLSETDATA就好了啦

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

Opt("TrayIconDebug", 1)
Opt("MustDeclareVars", 0)

Global $SideBar,$timer, $Secs, $Mins, $Hour, $Time

        $SideBar=GUICreate("Timer", 100, 100,-1,-1,2)

GUICtrlCreatePic("C:\WINDOWS\Web\Wallpaper\Wind.jpg",0,0,150,150)
                
$t = GUICtrlCreateLabel("00 分 00 秒", 10, 20,90,20);创建 label 标签,用来显示时间
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

GUISetState()

        $timer = TimerInit()
        AdlibEnable("Timer", 50)
        ;
        While 1
                Sleep(100)
        WEnd

Func Timer()
        _TicksToTime(Int(TimerDiff($timer)),$Hour,$Mins, $Secs)
        Local $sTime = $Time 
        $Time = StringFormat("%02i 分 %02i 秒",$Mins, $Secs)
        If $sTime <> $Time Then GUICtrlSetData($t, $Time)
EndFunc   ;==>Timer
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-11 13:55 , Processed in 0.072744 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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