新手上路 发表于 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 编辑 ]

sanhen 发表于 2008-10-20 13:50:41

GuiCtrlSetState(-1,$GUI_DISABLE)

不过你的计时函数有问题。

新手上路 发表于 2008-10-20 14:27:50

计时器函数有问题?

没有那句背景代码就能正常运行啊。

liongodmien 发表于 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
页: [1]
查看完整版本: 如何使计时器能够在背景图片上显示?