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

[AU3基础] 倒计时设计问题,开始计时后点右键计时就会停止,有办法解决吗?

 火.. [复制链接]
发表于 2010-7-13 18:41:48 | 显示全部楼层
不是跟你说了吗,adlibregister,只要没有adlibunregister,一直有效,
还有,我实在不明白你怎么在调用的进程中结束该进程
 楼主| 发表于 2010-7-13 18:45:55 | 显示全部楼层
明白啦,我试试,谢谢提醒
发表于 2010-7-13 19:17:23 | 显示全部楼层
本帖最后由 3mile 于 2010-7-13 19:22 编辑

看看这个有没有效。--也许该试试事件模式
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <Timers.au3>

;Global $Sec = 0
;Global $Min = 1
Local $sec = 0, $min = 1
$mainwindow = GUICreate("倒计时 ", 162, 82, 400, 300, BitOR($WS_POPUP, $WS_CLIPSIBLINGS))
$Label = GUICtrlCreateLabel("标签", 0, 0, 162, 82, $SS_BLACKFRAME, $GUI_WS_EX_PARENTDRAG) ;通过右键菜单退出-拖拽
;FileInstall("tu.jpg", @TempDir & "") ;编译图片
;$Pic1 = GUICtrlCreatePic(@TempDir & "\tu.jpg", 0, 0, 162, 82)
$FontMin = GUICtrlCreateLabel(StringFormat('%02s', $min), 22, 2, 48, 39)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xc24343)
GUICtrlSetFont(-1, 34, 400, 0, "@黑体")
$FontD = GUICtrlCreateLabel(":", 68, 2, 48, 39)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xc24343)
GUICtrlSetFont(-1, 34, 400, 0, "@黑体")
$FontSec = GUICtrlCreateLabel(StringFormat('%02s', $sec) & ":", 90, 2, 48, 39)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xc24343)
GUICtrlSetFont(-1, 34, 400, 0, "@黑体")
$contextmenu = GUICtrlCreateContextMenu(3)
$Start = GUICtrlCreateMenuItem("开始", $contextmenu)
$Abort = GUICtrlCreateMenuItem("关于", $contextmenu)
GUICtrlCreateMenuItem("", $contextmenu)
$infoitem = GUICtrlCreateMenuItem("退出", $contextmenu)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3, $infoitem ; 退出
                        infoitem()
                Case $Start
                        _Timer_SetTimer($mainwindow, 1000, "_UpdateStatusBarClock")
                        $sec = 0
                        $min = 1
                        GUICtrlSetState($start,$GUI_DISABLE)                        
        EndSwitch
WEnd

Func _UpdateStatusBarClock($hWnd, $Msg, $iIDTimer, $dwTime)
        If $sec = 0 And $min = 0 Then
                _Timer_KillAllTimers($mainwindow)
                GUICtrlSetState($start,$GUI_ENABLE)
        Else
                If $sec <= 0 Then
                        $sec = 60 + $sec
                        $min -= 1
                EndIf
                $sec -= 1
                GUICtrlSetData($FontMin, StringFormat('%02s', $min))
                GUICtrlSetData($FontSec, StringFormat('%02s', $sec))
        EndIf
EndFunc   ;==>_UpdateStatusBarClock

Func infoitem()
        FileDelete(@TempDir & "\tu.jpg") ;删除图片
        Exit
EndFunc   ;==>infoitem

评分

参与人数 2金钱 +55 贡献 +5 收起 理由
afan + 20
lynfr8 + 35 + 5 很棒的见解

查看全部评分

 楼主| 发表于 2010-7-13 19:20:46 | 显示全部楼层
看看这个有没有效。--也许该试试事件模式
3mile 发表于 2010-7-13 19:17


点右键后时间退的好快~~
发表于 2010-7-13 19:23:40 | 显示全部楼层
已经修改,再试试。18楼
 楼主| 发表于 2010-7-13 19:30:48 | 显示全部楼层
已经修改,再试试。18楼
3mile 发表于 2010-7-13 19:23



非常感谢,这样很好。不让点二次开始,计时完成后恢复开始。

也手多多关照,哈哈·
发表于 2010-7-13 19:34:53 | 显示全部楼层
也手?
那是什么呢?
 楼主| 发表于 2010-7-13 19:38:28 | 显示全部楼层
高手,哈哈,打错啦
发表于 2010-7-13 20:23:12 | 显示全部楼层
回复 23# arwang
可别这样说。
本坛藏龙卧虎,高手如云。。。
发表于 2010-7-15 00:50:40 | 显示全部楼层
路过,友情支持一下
发表于 2010-7-21 15:03:42 | 显示全部楼层
有离子的收收吧
发表于 2010-11-26 10:06:39 | 显示全部楼层
还是不太明白怎么用。。
发表于 2013-11-3 16:54:45 | 显示全部楼层
呵呵,同楼上。也晕了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 19:25 , Processed in 0.093039 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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