#Region - TimeStamp
; 2012-08-20 01:03:19   v 0.2
#EndRegion - TimeStamp


#include 'LivingGraph.au3'


Opt("GUIOnEventMode", 1)


Global $Gui = GUICreate('Test', 800, 400)
GUISetBkColor(0x000000)
GUISetOnEvent(-3, "_Exit")
GUISetState()


; == Controls erstellen
$iCtrlID1 = _GraphCtrl_Create($Gui, 20, 20, 760, 170, 20, -1, 1, 0xFFFFFFFF, 0xFF0000FF, 0xFFFF0000, 0xFF000000, 0xFFE0E0E0)  ; == 20 s Epochendauer
GUICtrlSetOnEvent($iCtrlID1, '_GraphEvent')
; ==  10 s Epochendauer:
$iCtrlID2 = _GraphCtrl_Create($Gui, 20, 210, 760, 170, 10)
GUICtrlSetOnEvent($iCtrlID2, '_GraphEvent')


; == Hilfslinien erstellen
_GraphCtrl_SetHelpline($iCtrlID1, -1, '54,108')           ; == Position über X-Achse
; == alternativ mit Arrayübergabe
Local $aHelp[6] = [25,50,75,100,125,150]
_GraphCtrl_SetHelpline($iCtrlID2, -1, $aHelp)
; == oder per Angabe Anzahl Linien (zählen ohne abschließende Hilfslinie an der Control-Oberseite)
;~ _GraphCtrl_SetHelpline($iCtrlID1, 2)


; == Skalierung
_GraphCtrl_VScaleSet($iCtrlID1)                            ; == vertikal, standardmäßig in 10%-Schritten
; == alternativ mit Wertangabe (Pixel ab X-Achse) über String oder Array
_GraphCtrl_VScaleSet($iCtrlID2, 1, '85,170')
;~ Local $aV[2] = [85,170]
;~ _GraphCtrl_VScaleSet($iCtrlID1, 1, $aV)

_GraphCtrl_HScaleSet($iCtrlID1)                            ; == horizontal, standarmäßig in Sekundenabstand
_GraphCtrl_HScaleSet($iCtrlID2)



$timer = TimerInit()
$done = 0
$iVal = 85
$iVal1 = 50
Do
	$iRnd = Random(-2,2,1)
	While $iVal +($iRnd) > 170 Or $iVal +($iRnd) < 0
		$iRnd = Random(-2,2,1)
	WEnd
	$iVal += ($iRnd)
	_GraphCtrl_Draw($iCtrlID1, $iVal)
	$iRnd = Random(-2,2,1)
	While $iVal1 +($iRnd) > 170 Or $iVal1 +($iRnd) < 0
		$iRnd = Random(-2,2,1)
	WEnd
	$iVal1 += ($iRnd)
	_GraphCtrl_Draw($iCtrlID2, $iVal1)
	If TimerDiff($timer) >= 3000 And $done = 0 Then
		$done = 1
		_GraphCtrl_HScaleSet($iCtrlID1, 0)   ; == Skalierung deaktivieren
		_GraphCtrl_VScaleSet($iCtrlID1, 0)

		_GraphCtrl_SetHelpline($iCtrlID2, 0) ; == Helpline deaktivieren
	EndIf
	Sleep(5)
Until False

Func _Exit()
	Exit
EndFunc

Func _GraphEvent()
	Local $sCtrl = '$iCtrlID1'
	If @GUI_CtrlId = $iCtrlID2 Then $sCtrl = '$iCtrlID2'
	Switch GUICtrlRead(@GUI_CtrlId)
		Case $WM_LBUTTONDOWN
			ConsoleWrite($sCtrl & ' $WM_LBUTTONDOWN' & @CRLF)
		Case $WM_LBUTTONUP
			ConsoleWrite($sCtrl & ' $WM_LBUTTONUP' & @CRLF)
		Case $WM_RBUTTONDOWN
			ConsoleWrite($sCtrl & ' $WM_RBUTTONDOWN' & @CRLF)
		Case $WM_RBUTTONUP
			ConsoleWrite($sCtrl & ' $WM_RBUTTONUP' & @CRLF)
		Case $WM_MBUTTONDOWN
			ConsoleWrite($sCtrl & ' $WM_MBUTTONDOWN' & @CRLF)
		Case $WM_MBUTTONUP
			ConsoleWrite($sCtrl & ' $WM_MBUTTONUP' & @CRLF)
	EndSwitch
EndFunc
