Messagebox in GUI

  • Moin, moin,

    ich brauche eine Messagebox in meinem GUI. Dabei möchte ich nicht, dass sich die Nachricht in einem separatem Fenster öffnet, sondern direkt im GUI angezeigt wird. Geht das?

  • wenn mich richtig entsinne kannst du das mit

    [autoit]

    GUICtrlCreateLabel ( "Deine Nachricht", left, top [, width [, height [, style [, exStyle]]]] )

    [/autoit]

    ausgeben lassen


    Poste mal dein Script bitte

  • So müsste es doch reichen oder?


    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 615, 438, 192, 124)
    $Button1 = GUICtrlCreateButton("Button1", 192, 80, 235, 185)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _test()
    EndSwitch
    WEnd
    func _test()
    GUICtrlCreateLabel("Ich bin eine MessageBox in der Gui", 156, 312, 268, 100,)
    EndFunc

    [/autoit]
  • Ich möchte gerne noch eine Schleife einbauen, die prüft ob das Laufwerk eingebunden wurde. Und wenn es eingebunden wurde, soll die Meldung im GUI kommen, ohne das halt ein weiteres Fenster aufploppt.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $Form1 = GUICreate("Netzlaufwerke", 307, 141, 192, 110)

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

    $Buchstabe = GUICtrlCreateGroup("Buchstabe", 16, 16, 81, 113)
    $buchstabe = GUICtrlCreateList("", 32, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(4, "x:|y:|z:")

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

    $pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
    $yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
    $freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(10, "c$|d$|e$")

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

    $einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
    GUICtrlSetData($einbinden, "Einbinden")
    GUICtrlSetOnEvent($einbinden, "einbinden")

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

    $oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)

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

    GUISetState()
    ;Wenn eingebunden, kann gleich geöffnet werden

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

    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    ;Case $msg = $ButtonDrucker
    ; MsgBox(0,"Test",GUICtrlRead($cList))
    EndSelect
    WEnd

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

    func einbinden()
    Global $buchstabe1 = GUICtrlRead($buchstabe)
    Global $freigabe1 = GUICtrlRead($freigabe)
    Global $yf1 = guictrlread($yf)
    DriveMapAdd($buchstabe1, "\\" & $yf1 & "\" & $freigabe1)
    EndFunc

    [/autoit]
  • na dann gucke dir mal das script an was ich gemacht habe
    ist ohne das was auftaucht die Nachricht steht dann in deiner Gui
    Position musst du selbst festlegen

  • ... okay zu langsam :D


    da brauchst Du keine Schleife.
    Die Funktion DriveMapAdd liefert selbst den Erfolg zurück

    Spoiler anzeigen

    Return Value

    Success: Returns 1. (See Remarks)
    Failure: Returns 0 if a new mapping could not be created and sets @error (see below). (See Remarks)


    einfach in eine Variable packen oder direkt auf = 1 prüfen und gut.
    Du solltest Dir aber in deinem Fenster noch etwas Platz einbauen für den Meldungstext. Sonst wird das nix.
    wie detroit94 schon sagte bau ein guiCtrlCreateLabel ein und setze dessen Inhalt dem entsprechend des Ergebnisses von DriveMapAdd mit GuiCtrlSetData.
    Fertig

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • du kannst das auch so machen das du das fenster scrollst ^^
    und zwar so

    Spoiler anzeigen
    [autoit]

    GUICtrlCreateEdit(Das Array für die Ausgabe, 144, 64, 361, 225)

    [/autoit]
  • Zu spät, jetzt habe ich es schon fertig :P

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $Form1 = GUICreate("Netzlaufwerke", 307, 180, 500, 500)

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

    $Buchstabe = GUICtrlCreateGroup("Buchstabe", 16, 16, 81, 113)
    $buchstabe = GUICtrlCreateList("", 32, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(4, "x:|y:|z:")

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

    $pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
    $yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
    $freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(10, "c$|d$|e$")

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

    $einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
    GUICtrlSetData($einbinden, "Einbinden")
    GUICtrlSetOnEvent($einbinden, "einbinden")
    ;_______________________________________Statusmeldungen_______________________________
    $status = GUICtrlCreateGroup("Statusmeldungen", 16, 130, 145, 45)

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

    ;__________________________________________________________________________________________
    $oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)

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

    GUISetState()
    ;Wenn eingebunden, kann gleich geöffnet werden

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

    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    ;Case $msg = $ButtonDrucker
    ; MsgBox(0,"Test",GUICtrlRead($cList))
    EndSelect
    WEnd

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

    func einbinden()
    Global $buchstabe1 = GUICtrlRead($buchstabe)
    Global $freigabe1 = GUICtrlRead($freigabe)
    Global $yf1 = guictrlread($yf)
    $eingebunden = DriveMapAdd($buchstabe1, "\\" & $yf1 & "\" & $freigabe1)

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

    if $eingebunden = 1 then GUICtrlCreateLabel("Einbinden erfolgreich!", 32, 150, 120, 15)
    EndFunc

    [/autoit]

    Nur lässt sich mein GUI nicht schliessen... Das Problem hatte ich schonmal, ich komme nur gerade nicht auf die Lösugn - verdammt :pinch:

  • Edit sry das leigt nicht am If sonder an der Schleife

    Einmal editiert, zuletzt von Detroit49 (8. April 2011 um 14:24)

  • Meinst das liegt daran?

    [autoit]

    if $eingebunden = 1 then
    GUICtrlCreateLabel("Einbinden erfolgreich!", 32, 150, 120, 15)
    EndIf

    [/autoit]

    Edit: ja, dachte ich mir... Ich verstehe die Schleife aber nicht, die wird von Koda mit erstellt..
    umsomehr wunderts mich, dass sie nicht funktioniert...

  • Hier jetzt geht es

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>

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

    $Form1 = GUICreate("Netzlaufwerke", 307, 180, 500, 500)

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

    $Buchstabe = GUICtrlCreateGroup("Buchstabe", 16, 16, 81, 113)
    $buchstabe = GUICtrlCreateList("", 32, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(4, "x:|y:|z:")

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

    $pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
    $yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
    $freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(10, "c$|d$|e$")

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

    $einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
    GUICtrlSetData($einbinden, "Einbinden")
    GUICtrlSetOnEvent($einbinden, "einbinden")
    ;_______________________________________Statusmeldungen_______________________________
    $status = GUICtrlCreateGroup("Statusmeldungen", 16, 130, 145, 45)

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

    ;__________________________________________________________________________________________
    $oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)

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

    GUISetState()
    ;Wenn eingebunden, kann gleich geöffnet werden

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

    GUISetState(@SW_SHOW)

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

    while 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    func einbinden()
    Global $buchstabe1 = GUICtrlRead($buchstabe)
    Global $freigabe1 = GUICtrlRead($freigabe)
    Global $yf1 = guictrlread($yf)
    $eingebunden = DriveMapAdd($buchstabe1, "\\" & $yf1 & "\" & $freigabe1)
    if $eingebunden = 1 then
    GUICtrlCreateLabel("Einbinden erfolgreich!", 32, 150, 120, 15)
    EndIf
    EndFunc

    [/autoit]


    Er

    [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit]

    war der grund ^^
    kann man nicht schließen wenn der drinne ist

  • [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $Form1 = GUICreate("Netzlaufwerke", 307, 180, 500, 500)

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

    $Buchstabe = GUICtrlCreateGroup("Buchstabe", 16, 16, 81, 113)
    $buchstabe = GUICtrlCreateList("", 32, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(4, "x:|y:|z:")

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

    $pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
    $yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
    $freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetData(10, "c$|d$|e$")

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

    $einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
    GUICtrlSetData($einbinden, "Einbinden")
    GUICtrlSetOnEvent($einbinden, "einbinden")
    ;_______________________________________Statusmeldungen_______________________________
    $status = GUICtrlCreateGroup("Statusmeldungen", 16, 130, 145, 45)

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

    ;__________________________________________________________________________________________
    $oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)

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

    GUISetState()
    ;Wenn eingebunden, kann gleich geöffnet werden

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

    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    ;Case $msg = $ButtonDrucker
    ; MsgBox(0,"Test",GUICtrlRead($cList))
    EndSelect
    WEnd

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

    func einbinden()
    Global $buchstabe1 = GUICtrlRead($buchstabe)
    Global $freigabe1 = GUICtrlRead($freigabe)
    Global $yf1 = guictrlread($yf)
    $eingebunden = DriveMapAdd($buchstabe1, "\\" & $yf1 & "\" & $freigabe1)

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

    if $eingebunden = 1 then GUICtrlCreateLabel("Einbinden erfolgreich!", 32, 150, 120, 15)
    EndFunc
    Func _exit()
    Exit
    EndFunc

    [/autoit]