Antoschka2
18-06-2010, 20:02
Добрыи день,
может мне кто подсказать с какои функциеи мне надо работать(я в мануале почитаю).
Смысл скрипта обычныи: GUI а в нутри просто часики показывающие время прошедшее с заданного момента, а ниже наоборот отсчёт времени до заданного времени.
это с какими функциями надо работать для показа счётчика в реальном времени?
Второи вопрос: реально ли это в autoit создать например треугольныи GUI(скажем мне надо чтобы на рабочем столе высвечивалась картинка в виде треугольника и тикали мои часики. Подскажите логику пожалуиста
Заранее благодарю
Можно так:
#Include <StaticConstants.au3>
#Include <WinAPIEx.au3>
#Include <WindowsConstants.au3>
Global $Timer
Dim $aPoint[10][2] = [[0, 180], [190, 180], [250, 0], [308, 180], [500, 180], [344, 294], [404, 475], [250, 362], [94, 475], [154, 294]]
$hForm = GUICreate('MyGUI', 500, 475, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)
$Label = GUICtrlCreateLabel('00:00:00', 180, 246, 140, 23, $SS_CENTER)
GUICtrlSetFont(-1, 20, 400, 0, 'Lucida Console')
GUICtrlSetColor(-1, 0xFFFF00)
$Button = GUICtrlCreateButton('Reset', 220, 290, 60, 21)
GUIRegisterMsg($WM_NCHITTEST, 'WM_NCHITTEST')
GUISetBkColor(0xAA0000)
$hRgn = _WinAPI_CreatePolygonRgn($aPoint)
_WinAPI_SetWindowRgn($hForm, $hRgn)
$Timer = TimerInit()
AdlibRegister('_Update', 1000)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
ExitLoop
Case $Button
$Timer = TimerInit()
GUICtrlSetData($Label, '00:00:00')
EndSwitch
WEnd
Func _Update()
Local $H, $M, $S, $Time = Round(TimerDiff($Timer) / 1000)
If $Time > 86400 Then ; > 24 hours
$Time -= 86400
EndIf
$S = Mod($Time, 60)
$Time = ($Time - $S) / 60
$M = Mod($Time, 60)
$Time = ($Time - $M) / 60
$H = Mod($Time, 24)
GUICtrlSetData($Label, StringFormat('%02d:%02d:%02d', $H, $M, $S))
EndFunc ;==>_Update
Func WM_NCHITTEST($hWnd, $iMsg, $wParam, $lParam)
Switch $hWnd
Case $hForm
Switch $iMsg
Case $WM_NCHITTEST
Return $HTCAPTION
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NCHITTEST
WinAPIEx.au3 (http://autoit-script.ru/index.php?topic=47.0)
Второи вопрос »
В отдельную тему.
Antoschka2
20-06-2010, 13:31
Спасибо, за хорошии код, но я не спец в этот, поэтому можно было бы ещё подсказать какую функцию использовать надо для включение калькулятора для отсчёта времени.
Спасибо заранее
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC