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?
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?
#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)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
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
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.
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
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:")
$pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
$yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
$freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetData(10, "c$|d$|e$")
$einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
GUICtrlSetData($einbinden, "Einbinden")
GUICtrlSetOnEvent($einbinden, "einbinden")
$oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)
[/autoit] [autoit][/autoit] [autoit]GUISetState()
;Wenn eingebunden, kann gleich geöffnet werden
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
;Case $msg = $ButtonDrucker
; MsgBox(0,"Test",GUICtrlRead($cList))
EndSelect
WEnd
func einbinden()
Global $buchstabe1 = GUICtrlRead($buchstabe)
Global $freigabe1 = GUICtrlRead($freigabe)
Global $yf1 = guictrlread($yf)
DriveMapAdd($buchstabe1, "\\" & $yf1 & "\" & $freigabe1)
EndFunc
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
Ja, genau so wollte ich es haben, danke
... okay zu langsam
da brauchst Du keine Schleife.
Die Funktion DriveMapAdd liefert selbst den Erfolg zurück
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
Praktisch, danke. Funktioniert super. Das mit dem Platz ist ja das kleinste Übel
du kannst das auch so machen das du das fenster scrollst
und zwar so
GUICtrlCreateEdit(Das Array für die Ausgabe, 144, 64, 361, 225)
[/autoit]Zu spät, jetzt habe ich es schon fertig
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
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:")
$pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
$yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
$freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetData(10, "c$|d$|e$")
$einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
GUICtrlSetData($einbinden, "Einbinden")
GUICtrlSetOnEvent($einbinden, "einbinden")
;_______________________________________Statusmeldungen_______________________________
$status = GUICtrlCreateGroup("Statusmeldungen", 16, 130, 145, 45)
;__________________________________________________________________________________________
$oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)
GUISetState()
;Wenn eingebunden, kann gleich geöffnet werden
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
;Case $msg = $ButtonDrucker
; MsgBox(0,"Test",GUICtrlRead($cList))
EndSelect
WEnd
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)
EndFunc
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
Meinst das liegt daran?
[autoit]if $eingebunden = 1 then
GUICtrlCreateLabel("Einbinden erfolgreich!", 32, 150, 120, 15)
EndIf
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>
$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:")
$pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
$yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
$freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetData(10, "c$|d$|e$")
$einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
GUICtrlSetData($einbinden, "Einbinden")
GUICtrlSetOnEvent($einbinden, "einbinden")
;_______________________________________Statusmeldungen_______________________________
$status = GUICtrlCreateGroup("Statusmeldungen", 16, 130, 145, 45)
;__________________________________________________________________________________________
$oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)
GUISetState()
;Wenn eingebunden, kann gleich geöffnet werden
GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit]while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
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
Er
[autoit]Opt("GUIOnEventMode", 1)
[/autoit]war der grund
kann man nicht schließen wenn der drinne ist
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
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:")
$pcname = GUICtrlCreateGroup("YF-Nummer", 104, 16, 97, 57)
$yf = GUICtrlCreateInput("yf7sl", 112, 40, 81, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$freigab = GUICtrlCreateGroup("Freigabe", 208, 16, 81, 113)
$freigabe = GUICtrlCreateList("", 224, 32, 49, 84)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetData(10, "c$|d$|e$")
$einbinden = GUICtrlCreateButton("Einbinden", 104, 80, 100, 20, $WS_GROUP)
GUICtrlSetData($einbinden, "Einbinden")
GUICtrlSetOnEvent($einbinden, "einbinden")
;_______________________________________Statusmeldungen_______________________________
$status = GUICtrlCreateGroup("Statusmeldungen", 16, 130, 145, 45)
;__________________________________________________________________________________________
$oeffnen = GUICtrlCreateButton("Laufwerk öffnen", 104, 105, 100, 20, $WS_GROUP)
GUISetState()
;Wenn eingebunden, kann gleich geöffnet werden
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
;Case $msg = $ButtonDrucker
; MsgBox(0,"Test",GUICtrlRead($cList))
EndSelect
WEnd
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)
EndFunc
Func _exit()
Exit
EndFunc
oder so
Jaha, wenn man den raus nimmt, funktiert der Rest aber nicht mehr
wiso machst du alles in ein Zitat ?
Weil ichs kann
Ne, war ein Versehen...
Ja, die letzte Exitfunktion fehlte mir. Hätte ich auch selber drauf kommen können... Narf.. :pinch:
Danke euch
Achso: Wenn ich das Label gesetzt habe, bekomme ich das auch wieder weg?