#include <GUIConstants.au3>
Dim $ItemKundenExist = 0, $ItemArtikelExist = 0, $ItemSerienExist = 0
Dim $stat_Kunden, $stat_Artikel, $stat_Serien
Dim $itemKunden, $itemArtikel, $itemSerien

$MainGUI = GUICreate("Main", Default, Default, Default, Default, BitOr($WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_MAXIMIZE))
$menu0 = GUICtrlCreateMenu("Datei")
$m0_item1 = GUICtrlCreateMenuItem("Beenden", $menu0)
$menu1 = GUICtrlCreateMenu("Stammdaten")
$m1_item1 = GUICtrlCreateMenuItem("Kunden                 Strg+K", $menu1)
$m1_item2 = GUICtrlCreateMenuItem("Artikel                   Strg+A", $menu1)
$m1_item3 = GUICtrlCreateMenuItem("Seriennummern    Strg+S", $menu1)
$menu2 = GUICtrlCreateMenu("Fenster")
$menu3 = GUICtrlCreateMenu("?")
$m2_item1 = GUICtrlCreateMenuItem("Hilfe", $menu3)
$m2_item2 = GUICtrlCreateMenuItem("Über", $menu3)

$KundenGUI = GUICreate("Kunden", 867, 551, -1, -1, BitOr($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_TOPMOST)
$ArtikelGUI = GUICreate("Artikel", 867, 551, -1, -1, BitOr($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_TOPMOST)
$SerienGUI = GUICreate("Serien-Nr", 867, 551, -1, -1, BitOr($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_TOPMOST)

GUISetState(@SW_SHOW,$MainGUI)
HotKeySet("^k", "_StrgK")
HotKeySet("^a", "_StrgA")
HotKeySet("^s", "_StrgS")

While 1
	_SetEntryFensterMenu()
	$msg = GuiGetMsg(1)
	Select
	Case $msg[0] = $GUI_EVENT_CLOSE
		Select
		Case $msg[1] = $MainGUI
			ExitLoop
		Case $msg[1] = $KundenGUI
			GUISetState(@SW_HIDE,$KundenGUI)
		Case $msg[1] = $ArtikelGUI
			GUISetState(@SW_HIDE,$ArtikelGUI)
 		Case $msg[1] = $SerienGUI
 			GUISetState(@SW_HIDE,$SerienGUI)
		EndSelect
	Case $msg[1] = $MainGUI 
		Select
		Case $msg[0] = $m0_item1
			ExitLoop
		Case $msg[0] = $m1_item1
			GUISetState(@SW_SHOW,$KundenGUI)
		Case $msg[0] = $m1_item2
			GUISetState(@SW_SHOW,$ArtikelGUI)
		Case $msg[0] = $m1_item3
 			GUISetState(@SW_SHOW,$SerienGUI)
		Case $msg[0] = $itemKunden
			WinActivate("Kunden")
		Case $msg[0] = $itemArtikel
			WinActivate("Artikel")
		Case $msg[0] = $itemSerien
			WinActivate("Serien")
		Case $msg[0] = $m2_item1
;~ 			Hilfe
		Case $msg[0] = $m2_item2
;~ 			Über
		EndSelect
	EndSelect	
WEnd

Func _StrgK()
	GUISetState(@SW_SHOW,$KundenGUI)
EndFunc

Func _StrgA()
	GUISetState(@SW_SHOW,$ArtikelGUI)
EndFunc

Func _StrgS()
 	GUISetState(@SW_SHOW,$SerienGUI)
EndFunc

Func _SetEntryFensterMenu()
	$stat_Kunden = WinGetState("Kunden")
	If $stat_Kunden = 7 Or $stat_Kunden = 15 Then
		If $ItemKundenExist = 0 Then
			$itemKunden = GUICtrlCreateMenuItem("Kunden", $menu2)
			$ItemKundenExist = 1
		EndIf 
	Else
		If $ItemKundenExist = 1 Then
			GUICtrlDelete($itemKunden)
			$ItemKundenExist = 0
		EndIf
	EndIf
	$stat_Artikel = WinGetState("Artikel")
	If $stat_Artikel = 7 Or $stat_Artikel = 15 Then
		If $ItemArtikelExist = 0 Then
			$itemArtikel = GUICtrlCreateMenuItem("Artikel", $menu2)
			$ItemArtikelExist = 1
		EndIf
	Else
		If $ItemArtikelExist = 1 Then
			GUICtrlDelete($itemArtikel)
			$ItemArtikelExist = 0
		EndIf
	EndIf
	$stat_Serien = WinGetState("Serien")
	If $stat_Serien = 7 Or $stat_Serien = 15 Then
		If $ItemSerienExist = 0 Then
			$itemSerien = GUICtrlCreateMenuItem("Serien", $menu2)
			$ItemSerienExist = 1
		EndIf
	Else
		If $ItemSerienExist = 1 Then
			GUICtrlDelete($itemSerien)
			$ItemSerienExist = 0
		EndIf
	EndIf	
EndFunc
		