Что нового

[Элементы GUI] часики в окно GUI

urrya

Новичок
Сообщения
159
Репутация
1
Всем привет!
Снова я со своими нубскими вопросами :smile:
Помогите пожалуйста сделать часики как в трее(с секундами) и вставить их в окошко GUI :scratch:
 

Mur

Осваивающий
Сообщения
132
Репутация
32
Ты же пользуешься редактором KODA, почему бы сразу в нём не создать эти часики?
Вкладка Win32 > "дата -время" > Стили > DTS_TimeFormat
 

Fever

Скриптер
Сообщения
308
Репутация
112
Код:
C:\Program Files\AutoIt3\Examples\GUI\Advanced\Clock.au3

в дистрибутиве AutoIt есть пример такой штуки.
 
Автор
urrya

urrya

Новичок
Сообщения
159
Репутация
1
Код:
#include <DateTimeConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 417, 155, 192, 124)
$Date1 = GUICtrlCreateDate("2012/08/28 13:48:37", 8, 12, 161, 29, BitOR($DTS_UPDOWN,$DTS_TIMEFORMAT,$WS_BORDER), $WS_EX_STATICEDGE)
GUICtrlSetFont(-1, 12, 400, 0, "@Arial Unicode MS")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

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

		Case $Date1
	EndSwitch
WEnd


вот что получается, но дело в том что сами часики то не ходят :'(
их же надо как то подключить к системным, а как я без понятия к сожалению :-[


Добавлено:
Сообщение автоматически объединено:

Интересная задача, на форуме такой темы нет ;)


Добавлено:
Сообщение автоматически объединено:

Fever
В примере есть часы, но там для создания своих часиков, а мне просто подключить к системным :scratch:
 

Mur

Осваивающий
Сообщения
132
Репутация
32
Попробуй так:
Код:
Global $nCheck

GuiCreate("Timer",200,50)
$hLabel = GuiCtrlCreateLabel("", 10, 10, 180, 20)
GuiSetState()

While 1
    time()
    If GUIGetMsg() = -3 Then Exit
WEnd

Func time()
    If @SEC <> $nCheck Then
        GUICtrlSetData($hLabel, "The current time is " & @HOUR & ":" & @MIN & ":" & @SEC & ".")
        $nCheck = @SEC
    EndIf
EndFunc
 

Fever

Скриптер
Сообщения
308
Репутация
112
Mur

и поправить немножко, чтобы контрол не моргал.

Код:
#include <WindowsConstants.au3>

Global $nCheck

GuiCreate("Timer",200,50, -1, -1, -1, $WS_EX_COMPOSITED)
$hLabel = GuiCtrlCreateLabel("", 10, 10, 180, 20)
GuiSetState()

While 1
    time()
    If GUIGetMsg() = -3 Then Exit
WEnd

Func time()
    If @SEC <> $nCheck Then
        GUICtrlSetData($hLabel, "The current time is " & @HOUR & ":" & @MIN & ":" & @SEC & ".")
        $nCheck = @SEC
    EndIf
EndFunc
 
Автор
urrya

urrya

Новичок
Сообщения
159
Репутация
1
Mur

:ok: Большое спасибо!


Добавлено:
Сообщение автоматически объединено:

Fever
:ok: :beer:
 
Верх