#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <MenuStatus.au3>
Opt('MustDeclareVars', 1)
Global $hGui, $hstatus, $recentfilesmenu, $hMain, $lastMenu, $hGui2, $Menu2, $hEdit, $hButton1, $hButton2
Example()
Func Example()
	Global $filemenu, $fileitem
	Global $helpmenu, $saveitem, $infoitem, $exititem
	Global $separator1, $viewmenu, $viewstatusitem, $viewstatusitem2, $viewstatusitem3, $okbutton, $cancelbutton
	Global $statuslabel, $msg, $file
	Local $aParts[3] = [75, 250, -1]; Array für die Parts(Spalten) des Statusbar
	$hGui = GUICreate("Beispiel für MenuStatus.au3", 300, 200, 100, 100)
	$filemenu = GUICtrlCreateMenu("&File")
	$fileitem = GUICtrlCreateMenuItem("Öffnen", $filemenu)
	_GUICtrlMenu_SetStatusText($fileitem, "Datei öffnen")
	$helpmenu = GUICtrlCreateMenu("?")
	$saveitem = GUICtrlCreateMenuItem("Speichern", $filemenu)
	_GUICtrlMenu_SetStatusText($saveitem, "Datei speichern")
	$infoitem = GUICtrlCreateMenuItem("Info", $helpmenu)
	_GUICtrlMenu_SetStatusText($infoitem, "Programminfos anzeigen")
	$exititem = GUICtrlCreateMenuItem("Beenden", $filemenu)
	_GUICtrlMenu_SetStatusText($exititem, "Programm verlassen")
	$recentfilesmenu = GUICtrlCreateMenu("Zuletzt eöfnete Dateien...", $filemenu, 1)
	$separator1 = GUICtrlCreateMenuItem("", $filemenu, 2) ; create a separator line
	$viewmenu = GUICtrlCreateMenu("View", -1, 1) ; is created before "?" menu
	$viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)
	_GUICtrlMenu_SetStatusText($viewstatusitem, "Statusbar anzeigen/verstecken")
	GUICtrlSetState(-1, $GUI_CHECKED)
	$viewstatusitem2 = GUICtrlCreateMenuItem("Statusbar Uhr", $viewmenu)
	_GUICtrlMenu_SetStatusText($viewstatusitem2, "Statusbar Uhr  anzeigen/verstecken")
	GUICtrlSetState(-1, $GUI_CHECKED)
	$viewstatusitem3 = GUICtrlCreateMenuItem("Menü Uhr", $viewmenu)
	_GUICtrlMenu_SetStatusText($viewstatusitem3, "Menü Uhr  anzeigen/verstecken")
	GUICtrlSetState(-1, $GUI_CHECKED)
	$okbutton = GUICtrlCreateButton("OK", 50, 130, 70, 20)
	GUICtrlSetState(-1, $GUI_FOCUS)
$cancelbutton = GUICtrlCreateButton("Cancel", 180, 130, 70, 20)
	$hstatus = _GUICtrlStatusBar_Create($hGui); Statusbar erstellen
	_GUICtrlStatusBar_SetParts($hstatus, $aParts);Statausbar Parts setzen
	_GUICtrlMenu_RegisterStatusbar($hGui, $hstatus);Statusbar registrieren
	_GUICtrlStatusBar_SetClock($hGui, $hstatus, 3);Uhr in der Statusbar aktivieren
	_GUICtrlMenu_SetClock($hGui);Uhr im Menü aktivieren
	_GUICtrlMenu_InitStatusbar(True);STatusbar UDF starten
	GUISetState()

	$hGui2 = GUICreate("Gui mit Uhr im Menü", 350, 200, 350, 350)
	$hEdit = GUICtrlCreateEdit("Diese GUI enthält eine Uhr in der Menüleiste," & @CRLF & _
			"die Menüleiste wurde von _GUICtrlMenu_SetClock erstellt." & @CRLF & _
			"Bei deaktivieren der Uhr wird das Menü wieder entfernt.", 10, 10, 330, 100, BitOR($ES_MULTILINE, $ES_WANTRETURN, $ES_READONLY))
	$hButton1 = GUICtrlCreateButton("Uhr deaktivieren", 50, 150, 100, 21)
	$hButton2 = GUICtrlCreateButton("Uhr aktivieren", 210, 150, 100, 21)
	GUICtrlSetState(-1, $GUI_DISABLE)
	GUISetState()
	_GUICtrlMenu_SetClock($hGui2);Uhr im Menü aktivieren
	While 1
		$msg = GUIGetMsg(1)
		Switch $msg[1]
			Case $hGui
				Switch $msg[0]
					Case $viewstatusitem
						If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) Then
							GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
							_GUICtrlStatusBar_ShowHide($hstatus, @SW_HIDE)
						Else
							GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
							_GUICtrlStatusBar_ShowHide($hstatus, @SW_SHOW)
						EndIf
					Case $viewstatusitem2
						If BitAND(GUICtrlRead($viewstatusitem2), $GUI_CHECKED) Then
							GUICtrlSetState($viewstatusitem2, $GUI_UNCHECKED)
							_GUICtrlStatusBar_SetClock($hGui, $hstatus, 3, False)
						Else
							GUICtrlSetState($viewstatusitem2, $GUI_CHECKED)
							_GUICtrlStatusBar_SetClock($hGui, $hstatus, 3)
						EndIf
					Case $viewstatusitem3
						If BitAND(GUICtrlRead($viewstatusitem3), $GUI_CHECKED) Then
							GUICtrlSetState($viewstatusitem3, $GUI_UNCHECKED)
							_GUICtrlMenu_SetClock($hGui, False);Uhr im Menü deaktivieren
						Else
							GUICtrlSetState($viewstatusitem3, $GUI_CHECKED)
							_GUICtrlMenu_SetClock($hGui);Uhr im Menü aktivieren
						EndIf
					Case $GUI_EVENT_CLOSE, $cancelbutton, $exititem
						ExitLoop
					Case $infoitem
						MsgBox(0, "Info", "Only a test...")
					Case $fileitem
						Local $file, $TempFile, $TempItem
						$file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
						If @error <> 1 Then
							$TempFile = StringSplit($file, "\")
							$TempFile = $TempFile[$TempFile[0]]
							$TempItem = GUICtrlCreateMenuItem($file, $recentfilesmenu)
							_GUICtrlMenu_SetStatusText($TempItem, "Zuletzt geöffnete Datei :" & $TempFile)
						EndIf
				EndSwitch
			Case $hGui2
				Switch $msg[0]
					Case $hButton1
						_GUICtrlMenu_SetClock($hGui2, False);Uhr im Menü deaktivieren
						GUICtrlSetState($hButton1, $GUI_DISABLE)
						GUICtrlSetState($hButton2, $GUI_ENABLE)
					Case $hButton2
						_GUICtrlMenu_SetClock($hGui2);Uhr im Menü aktivieren
						GUICtrlSetState($hButton1, $GUI_ENABLE)
						GUICtrlSetState($hButton2, $GUI_DISABLE)
					Case $GUI_EVENT_CLOSE
						_GUICtrlMenu_SetClock($hGui2, False);Uhr im Menü deaktivieren
						GUIDelete($hGui2)
				EndSwitch
		EndSwitch
	WEnd
	GUIDelete()
	_GUICtrlMenu_InitStatusbar(False)
EndFunc   ;==>Example
