[HILFE] Beenden geht nicht...

05/15/2014 13:48 surorek5#1
Nochmal eine Frage und guten Tag,

Heute habe ich die Frage, wie ich bei meinem Code:

machen kann, dass sich bei einem Klick in der GUI auf das rote Kreuz, die GUI wieder versteckt. Also Prinzipiell: GUISetState(@SW_HIDE, $gui1)

Bräuchte da Hilfe, da es entweder, gar keine Funktion auslöst, oder durch den Loop immer die GUI sofort versteckt, satt sie anzuzeigen.

LG und bitte um schnelle Hilfe :)

PS: Bitte mit Erklärung, will ja etwas lernen :D
05/15/2014 16:11 alpines#2
Code:
Opt("TrayMenuMode", 8 & 1)
Das wäre 81, nicht 9.

Du fügst noch folgendes oben hinzu
Code:
Opt("GUIOnEventMode", 1)
Und weiter unten
Code:
GUISetOnEvent($gui1, "_HideMainWindow")

Func _HideMainWindow()
    GUISetState(@SW_HIDE, $gui1)
Endfunc
05/15/2014 16:49 surorek5#3
Falls du es so meinst, geht es leider nicht...

PHP Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <String.au3>
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <StaticConstants.au3>
#include <GDIPlus.au3>
#include <ComboConstants.au3>
 #include <GuiMenu.au3>

Opt("TrayMenuMode"81)
Opt("GUIOnEventMode"1)

Local $oeffnen TrayCreateItem("Öffnen")
Local $beenden TrayCreateItem("Beenden")

TraySetState()


$gui1 GUICreate ("Schnellstarter"200200)
$hItem2 _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($hItem20"Programme hinzufügen"0x2000)
_GUICtrlMenu_InsertMenuItem($hItem21"Einstellungen"0x2001)














While 
1
    Local $msg 
TrayGetMsg()
    
Select
    
Case $msg 0
            ContinueLoop
        
Case $msg $oeffnen
            GUISetState
(@SW_SHOW$gui1)
         Case 
$msg $beenden
            ExitLoop
         EndSelect
WEnd


GUISetOnEvent
($gui1"_HideMainWindow")
Func _HideMainWindow()
    
GUISetState(@SW_HIDE$gui1)
Endfunc


Exit 
05/15/2014 17:43 alpines#4
LOL, das ist nicht dein Ernst oder?
Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <String.au3>
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <StaticConstants.au3>
#include <GDIPlus.au3>
#include <ComboConstants.au3>
 #include <GuiMenu.au3>

Opt("TrayMenuMode", 81)
Opt("GUIOnEventMode", 1)

Local $oeffnen = TrayCreateItem("Öffnen")
Local $beenden = TrayCreateItem("Beenden")

TraySetState()


$gui1 = GUICreate ("Schnellstarter", 200, 200)
GUISetOnEvent(-3, "_HideMainWindow")
$hItem2 = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($hItem2, 0, "Programme hinzufügen", 0x2000)
_GUICtrlMenu_InsertMenuItem($hItem2, 1, "Einstellungen", 0x2001)

While 1
    Local $msg = TrayGetMsg()
    Select
    Case $msg = 0
            ContinueLoop
        Case $msg = $oeffnen
            GUISetState(@SW_SHOW, $gui1)
         Case $msg = $beenden
            ExitLoop
         EndSelect
WEnd


Func _HideMainWindow()
    GUISetState(@SW_HIDE, $gui1)
Endfunc
Das 81 ist immer noch falsch.
05/15/2014 19:21 surorek5#5
Ist mir egal xD
Hauptsache es funktioniert, und es bringt seine Leistung !

#Edit:

Ich bin ein kompletter Neuling im Proggen, deshalb ist der Code auch so schlecht.
trotzdem Danke, es funtkioniert jetzt.
und wegen der 8 & 1, kommt daher, dass ich im TrayMenu die normelen ausblenden wollte, und eigene dahaben will-
05/15/2014 22:32 butter123#6
du musst die nummern addieren, nicht hintereinander schreiben...
falls es mit 81 richtig läuft, wäre das zufall
05/15/2014 23:37 surorek5#7
aber 8 & 1 geht doch auc statt 8 + 1 oder?
05/16/2014 00:22 lolkop#8
Quote:
Originally Posted by surorek5 View Post
aber 8 & 1 geht doch auc statt 8 + 1 oder?
Code:
8&1 == 81 != 9 == 8+1