Hallo, Es ist soweit, cih stelle mein allererstes GDI+ Script vor Also nciht wundern, wenn das Script völlig durcheinander ist...
Aber irgendwie gibts da noch n kleines Problem vonwegen der richtigen Zeitanzeige...
mit bestem Danke an name22 für seine Hilfe und seine eisernen nerven mit mir
p.s. es sollte iene analoge uhr sein
Script
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
Global Const $Pi_Div_180 = ACos(-1) / 180
Local $x, $y
$gui = GUICreate("Uhr",200,200)
GUISetState(@SW_SHOW) ;Beim zeichnen das Gui vorher sichtbar machen
_GDIPlus_Startup()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($gui)
$brush = _GDIPlus_BrushCreateSolid(0xFF6E6E6E)
_GDIPlus_GraphicsDrawArc($hGraphic,95,95,10,10,180,360)
_GDIPlus_GraphicsFillEllipse($hGraphic,95,95,10,10)
_GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2)
$stdpen = _GDIPlus_PenCreate(0xFF000000,6,2)
$minpen = _GDIPlus_PenCreate(0xFF000000,3,2)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_GDIPlus_GraphicsDispose($hGraphic) ;Gans wichtig alle Daten wieder aus dem ram schmeißen
_GDIPlus_Shutdown()
Exit
EndSwitch
;~ givekoord(@SEC * 6,70)
;~ $seczeiger = _GDIPlus_GraphicsDrawLine($hGraphic,100,100,$X,$Y)
;~ givekoord(@MIN * 6,60)
;~ $seczeiger = _GDIPlus_GraphicsDrawLine($hGraphic,100,100,$X,$Y,$minpen)
;~ givekoord(@HOUR * 15,50)
;~ $seczeiger = _GDIPlus_GraphicsDrawLine($hGraphic,100,100,$X,$Y,$stdpen)
Sleep(100)
_GDIPlus_GraphicsClear($hGraphic,0xFFF0F0F0)
_GDIPlus_GraphicsDrawArc($hGraphic,95,95,10,10,180,360)
_GDIPlus_GraphicsFillEllipse($hGraphic,95,95,10,10)
givekoord(@SEC * 6,70)
$seczeiger = _GDIPlus_GraphicsDrawLine($hGraphic,100,100,$X,$Y)
givekoord(@MIN * 6,60)
$seczeiger = _GDIPlus_GraphicsDrawLine($hGraphic,100,100,$X,$Y,$minpen)
givekoord(@HOUR * 15,50)
$seczeiger = _GDIPlus_GraphicsDrawLine($hGraphic,100,100,$X,$Y,$stdpen)
WEnd
[/autoit] [autoit][/autoit] [autoit]Func givekoord($grad,$radius)
$X = 200 / 2 + Cos(($grad - 90) * $Pi_Div_180) * $radius ;<-- 1.Formel um die X-Koordinate zu bestimmen
$Y = 200 / 2 + Sin(($grad - 90) * $Pi_Div_180) * $radius ;<-- 2.Formel um die Y-Koordinate zu bestimmen
EndFunc