Frage zum Menue und dessen Einbau

  • Hallo zusammen,

    heute habe ich ein paar Fragen zum Menue und dessen einbau!
    Gleich vorn weg möchte ich sagen das ich mit dem Menue noch nicht gearbeitet habe und mich daher auch nicht so auskenne!

    Hier meine Fragen:

    1. Kann mann den Hintergrund des Menue`s ähnlich wie bei Label´n auf Transparent setzen?
    2. Wenn 1 nicht geht, kann man dann wenigstens die Farbe des hintergrundes anpassen?

    So nun kommen wir zu der Frage des Einbauens.

    Ich habe mal ein lauffähiges Script fertig gemacht damit man besser sieht um was es mir geht.
    In dem Script sind die Menue Punkte schon enthalten, wobei es mir jetzt erstmal um den ersten Menue Punkt geht.

    Das Programm beginnt mit der Updateprüfung sobald man es öffnet. Dies soll es aber erst tun, wenn man auf den 1 Menuepunkt ($Resourcen_Rechner) klickt.
    Das bedeudet das kommplette Programm selbst (ausser der Standart GUI bezeichnet mit #region Standart bis #endregion Standart) soll erst nach klicken auf den Menuepunkt Resourcen Rechner starten.

    Warum das ganze?
    Wie man sieht sind schon Menuepunkte für weitere /andere Rechner angelegt die mit in diesen Code kommen!

    Hier nun das lauffähige Script:

    Spoiler anzeigen

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListviewConstants.au3>
    #include <EditConstants.au3>
    #include <GuiListView.au3>
    #include <StaticConstants.au3>
    #include <INet.au3>

    Global $ver = "1.1.0"

    #region Standart
    $Form1 = GUICreate("BBO Almanach Resourcen Rechner", 530, 320, 193, 125)
    GUICtrlCreatePic("data\Backround\Background.tgx", 0, 0, 530, 320)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("© By Ghostleader and Team Almanach", 130, 304, 350, 15)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Resourcen_Rechner = GUICtrlCreateMenu("Resourcen Rechner")
    $Job_XP_Rechner = GUICtrlCreateMenu("Job XP Rechner")
    $Pet_Stufen_Rechner = GUICtrlCreateMenu("Pet Stufen Rechner")
    $Sonstiges = GUICtrlCreateMenu("Sonstiges")
    $MenuItem5 = GUICtrlCreateMenuItem("MenuItem5", $Sonstiges)
    $MenuItem4 = GUICtrlCreateMenuItem("MenuItem4", $Sonstiges)
    $MenuItem3 = GUICtrlCreateMenuItem("MenuItem3", $Sonstiges)
    $MenuItem2 = GUICtrlCreateMenuItem("MenuItem2", $Sonstiges)
    $MenuItem1 = GUICtrlCreateMenuItem("MenuItem1", $Sonstiges)
    #endregion Standart

    #region GUI + ListView
    $LabelUpdater = GUICtrlCreateLabel("Es wird nun auf Updates geprüft!",20, 20, 400, 70)
    GUICtrlSetFont(-1, 12, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonJA = GUICtrlCreateButton("JA", 50, 80, 65, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonNEIN = GUICtrlCreateButton("NEIN", 120, 80, 45, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonOK = GUICtrlCreateButton("OK", 120, 80, 89, 33, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $BeendenButton = GUICtrlCreateButton("Beenden", 306, 210, 100, 20)
    GUICtrlSetState($BeendenButton, $GUI_HIDE)
    Global $listview = GUICtrlCreateListView("Klick an was du hertellen willst!", 20, 20, 180, 280, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_SetColumnWidth($listview, 0, 200)
    #endregion GUI + ListView

    GUISetState(@SW_SHOW)
    Sleep(2000) ; nur um die Meldung lesen zu können

    if updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die neueste Version.")
    GUICtrlSetState($ButtonOK, $GUI_SHOW) ; LISTVIEW SOLL ERST ERSCHEINEN NACH KLICKEN DES OK BUTTONS WENN KEIN UPDATE VORHANDEN IST
    GUICtrlSetState($listview, $GUI_HIDE)
    Else
    GUICtrlSetData($LabelUpdater, "Es steht eine neue Version zur Verfügung. Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW) ;LISTVIEW SOLL GARNICHT ERST ERSCHEINEN WEIL SICH DAS PROGRAMM NACH DOWNLOAD SELBST SCHLIESST
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW) ;LISTVIEW LOLL ERST ERSCHEINEN NACH KLICKEN DES NEIN BOTTONS
    GUICtrlSetState($listview, $GUI_HIDE)
    EndIf

    GUISetState(@SW_SHOW)
    Sleep(2000)

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $BeendenButton
    Exit
    Case $ButtonJA
    GUICtrlSetData($LabelUpdater,"Update wird jetzt heruntergeladen...")
    GUICtrlSetState($ButtonJA,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN,$GUI_HIDE)
    installupdate()
    Case $ButtonNEIN, $ButtonOK, $BeendenButton
    GUICtrlSetState($ButtonJA,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN,$GUI_HIDE)
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_SHOW)
    GUICtrlSetState($BeendenButton, $GUI_SHOW)
    Case $Listview
    _GUICtrlListView_SortItems($Listview, GUICtrlGetState($Listview))
    EndSwitch
    WEnd
    Exit

    Func updatecheck()
    InetGet("http://test.de/test/update.txt", @Scriptdir & "\data\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\data\update.txt", 0)
    $line = FileReadLine($file, 1)
    If $line = $ver Then
    return -1
    Else
    Return 1
    EndIf
    EndFunc

    Func installupdate()
    InetGet("http://test.de/test/test.sfx.exe", @ScriptDir & "\test.sfx.exe", 1, 0)
    Run(@ScriptDir & "\test.sfx.exe")
    Sleep(2000)
    Exit
    EndFunc

    Ich hoffe mir kann jemand helfen und wenn noch soviel Zeit ist vielleicht auch kurz mit erklähren warum genau das da hin kommt bzw was es da macht, damit ich das besser nachvollziehen und verstehen kann zum besseren lernen!

    Mfg Ghostleader

    Einmal editiert, zuletzt von Ghostleader (10. Juli 2011 um 16:10)

  • 1. Kann mann den Hintergrund des Menue`s ähnlich wie bei Label´n auf Transparent setzen?
    2. Wenn 1 nicht geht, kann man dann wenigstens die Farbe des hintergrundes anpassen?


    soweit ich weiß, ist das nciht möglich. kann aber sein, das ich mir irre...

    Zitat

    damit ich das besser nachvollziehen und verstehen kann zum besseren lernen!

    Super Einstellung :thumbup:

    Zitat

    Frage zum Menue und dessen Einbau

    Rettet den Genitiv :rolleyes:

  • Ich versteh die Problemstellung nicht genau. Weisst du nicht, wie du eine Aktion durch klick auf einen Hauptmenüpunkt ausführen kannst?

    Spoiler anzeigen
    [autoit]

    #region - Timestamp
    ;2011-07-10 14:13:55
    #endregion,

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #region - GUI Create
    GUICreate('', 200, 100)
    $Menu = GUICtrlCreateMenu('Datei')
    $MenuItem1 = GUICtrlCreateMenuItem("Beenden", $Menu)
    $MenuItem2 = GUICtrlCreateMenuItem("klick mich", -1)
    GUISetState()
    #endregion - GUI Create

    [/autoit] [autoit][/autoit] [autoit]

    #region - GUI SelectLoop
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $Menu
    ConsoleWrite("Menü" & @CRLF)
    Case $msg = $MenuItem2
    ConsoleWrite("Menü Item 2" & @CRLF)
    EndSelect
    WEnd
    #endregion - GUI SelectLoop

    [/autoit]


    Nachteil dabei - es muss vorher einmal GUICtrlCreateMenu() aufgerufen werden. Wenn man's ohne Text aufruft, muss man mit einem kleinen Versatz des ersten sichtbaren Menüpunkts leben. Deshalb pack ich da dann gerne Datei/Beenden hin.

  • Danke erstmal an alle für die Antworten.

    Das Problem was du nicht verstanden hast ist, das ich alles was das Script tut erst ausgeführt haben wollte wenn ich auf den dazugehörigen/angegebenen Menü Punkt klicke, ähnlich so wie du es als bsp. in dem von dir gepostetem code getan hast mit ConsoleWrit und ich eben net wusste wie ich das umsetzen muss!

    Gelöst ist es trotzdem Dank dafür an blubbstar.

    Wegen dem Menü, naja da muss es eben so nleiben falls dazu keiner mehr was weiss. Sieht halt nur blöd aus mit nem Hintergrundpick für die Gui aber ner hässlich gräulichen Farbe fürs Menü ;)

    Mfg Ghostleader

  • Zitat

    Wegen dem Menü, naja da muss es eben so nleiben falls dazu keiner mehr was weiss. Sieht halt nur blöd aus mit nem Hintergrundpick für die Gui aber ner hässlich gräulichen Farbe fürs Menü ;)


    Such doch mal nach ModernMenu, ich meine auch, da mal was gehört zu haben. Das ist vermutlich eine UDF aus dem englischen Forum. Vielleicht kannst du das ja damit umsetzen.