Что нового

Графическое отображение таймера

Статус
Закрыто для дальнейших ответов.

vlad

Новичок
Сообщения
3
Репутация
0
Вопрос такой. есть дискуссия. Есть ли здесь функция GUICtrlCreateTimer? Или она была и сейчас нет?
Сообщение автоматически объединено:

я не могу найти. но ссылаются на то, что есть на это данные
Сообщение автоматически объединено:

А вообще то так я не могу решить проблему. Вот. Создал код для аналоговых часов. Но стрелки не исчезают при обновлениях. Думал через таймер замутить это.

Код:
#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>


GUICreate("Analog Clock", 300*3, 300*3)
$hGraphic = GUICtrlCreateGraphic(10*3,10*3, 280*3, 280*3)
    GUICtrlSetBkColor(-1, 0xA8C1DD)
  
$centerX = 140*3
$centerY = 140*3
$radius = 130*3
$hourLength = 70*3
$minuteLength = 100*3

GUISetState(@SW_SHOW)

While 1
$hour = @HOUR
$minute = @MIN
$second = @SEC   

GUICtrlSetData($hGraphic, "")

;цихерблат
For $i = 0 To 11
  $angle = $i * 30
  $radians = $angle * (3.1416 / 180)
  $x1 = $centerX + ($radius - 20) * Cos($radians)
  $y1 = $centerY - ($radius - 20) * Sin($radians)
  $x2 = $centerX + $radius * Cos($radians)
  $y2 = $centerY - $radius * Sin($radians)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_PENSIZE, 1*3)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_COLOR, 0x000000) 
  GUICtrlSetGraphic($hGraphic, $GUI_GR_MOVE, $centerX, $centerY)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_LINE, $x2, $y2) 
Next

; чесы
$x2 = $centerX + (($radius-35) * sin( (2*3.1416*$hour*5+($minute/2))/60 ));
$y2 = $centerY- (($radius-35) * cos( (2*3.1416*$hour*5+($minute/2))/60 ));
GUICtrlSetGraphic($hGraphic, $GUI_GR_PENSIZE, 10*3)
GUICtrlSetGraphic($hGraphic, $GUI_GR_COLOR, 0x0000FF)
GUICtrlSetGraphic($hGraphic, $GUI_GR_MOVE, $centerX, $centerY)
GUICtrlSetGraphic($hGraphic, $GUI_GR_LINE, $x2, $y2)

; менуты
  $x2 = $centerX+ ($radius * sin( (2*3.1416*$minute)/60));
  $y2 = $centerY- ($radius * cos( (2*3.1416*$minute)/60));
  GUICtrlSetGraphic($hGraphic, $GUI_GR_PENSIZE, 5*3)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_COLOR, 0x275D2B)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_MOVE, $centerX, $centerY)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_LINE, $x2, $y2)

; сикунды
  $x2 = $centerX+ ($radius * sin( (2*3.1416*$second)/60));
  $y2 = $centerY- ($radius * cos( (2*3.1416*$second)/60));
  GUICtrlSetGraphic($hGraphic, $GUI_GR_PENSIZE, 3*3)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_COLOR, 0xFF4D00)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_MOVE, $centerX, $centerY)
  GUICtrlSetGraphic($hGraphic, $GUI_GR_LINE, $x2, $y2)
Sleep(1000)
WEnd
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Верх