Hi,
normalerweise sind MsgBoxen ja immer in der Mitte des Bildschirms.
Kann man die Positon auch ändern sodass sie z.B. rechts oben oder irgendwo anders ist?
MfG
Bladerunner
Hi,
normalerweise sind MsgBoxen ja immer in der Mitte des Bildschirms.
Kann man die Positon auch ändern sodass sie z.B. rechts oben oder irgendwo anders ist?
MfG
Bladerunner
Hmm ich glaube das geht nicht, du kannst es auch anschließend nicht verschieben lassen denn solange die MsgBox offen ist ist das Script pausiert.
Als Workaround könntest du dir eine eigene MsgBox basteln, ich glaube sowas gibts sogar schon die kannst du dann auch direkt mit WinMove verschieben.
Erstell dir praktisch selber eine MsgBox !
Also du machste eine GUI die genau so aussieht
Diese kannst du dann überall erscheinen lassen
Edit:
Fireflyer war zu schnell^^
Danke für eure Antworten.
Hab mir jetzt mal ne MsgBox nachgebaut.
Wie kann ich aber festlegen an welcher X,Y Koordinate sie erscheint?
MfG
Bladerunner
Funktion GUICreateGUICreate
Erstellt ein GUI-Fenster.
GUICreate ( "title" [, width [, height [, left [, top [,
style [, exStyle [, parent]]]]]]] )
Parameter
title
Der Titel des GUI-Fensters.
width
[optional] Die Breite des Fensters.
height
[optional] Die Höhe des Fensters.
left
[optional] Die linke Seite der Dialogbox. Standardmäßig (Wert -1) wird das
Fenster zentriert. Wenn left angegeben wird, muss auch top angegeben
werden.
top
[optional] Die Oberkante der Dialogbox. Standardmäßig (Wert -1) wird das
Fenster zentriert.
style
[optional] Definiert den Fenster-Stil. Siehe Anhang GUI-Stile für
Controls.
Verwende -1 für den Standard-Stil, der eine Kombination aus
$WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU Stil ist.
Einige
Stile werden immer mit einbezogen: $WS_CLIPSIBLINGS, und $WS_SYSMENU wenn
$WS_MAXIMIZEBOX oder $WS_SIZEBOX verwendet werden.
exStyle
[optional] Definiert den erweiterten Stil des Fensters. Siehe die Tabelle der erweiterten Stile
weiter unten. -1 ist der Standardwert.
parent
[optional] Der Handle eines anderen, zuvor erstellten Fensters - dieses neue
Fenster wird ein Child dieses Parent-Fensters.
Hi,
danke
Manchmal sieht man den Wald vor lauter Bäumen nicht .
Edit: Hab doch noch eine Frage .
Undzwar wie kann ich eine Form schließen ohne alle auf einmal zu schließen?
Hier mein bisheriger Code:
[autoit]
$Form1 = GUICreate("Form1", 188, 135, 276, 336,BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
$Label1 = GUICtrlCreateLabel("Label1", 80, 24, 36, 17)
$Button1 = GUICtrlCreateButton("Button1", 64, 80, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "ExitClick")
GUISetState(@SW_SHOW)
Func ExitClick()
Exit
EndFunc
Zweite Frage:
Kann man mehrere gleiche Forms auf einmal erstellen?
MfG
Bladerunner
Was ist eine Form?!
Meinst du damit eine GUI?
Die kannst du entweder mit GUISetState(@SW_HIDE ... verschwinden lassen
Oder mit GUIDelete(... löschen
In der Hilfe steht der genaue Syntax und es wird auch noch mehr dazu erklärt
Ja, wenn du mit Form eine GUI meinst^^
Kein Problem
Mir passiert das auch manchmal^^
Funktioniert leider immer noch nicht .
Also ich hab 4 selbst gebastelte MsgBoxen.
Wenn ich bei der ersten auf den Button drücke soll dieser sich schließen,bei der zweiten soll diese sich schliesen usw..
GUIDelete löscht leider nur die erste Box danach sind die anderen Buttons ohne Funktion.
MfG
Bladerunner
$gui1 = GUICreate("Fenster 1", 200, 200)
$gui2 = GUICreate("Fenster 2", 200, 200, 0, 0)
GUISetState(@SW_SHOW, $gui1) ;zeige fenster 1
GUISetState(@SW_SHOW, $gui2) ;zeige fenster 2
Sleep(1000)
GUISetState(@SW_HIDE, $gui2) ;fenster 2 wird versteckt
Sleep(1000)
GUISetState(@SW_SHOW, $gui2) ;fenster 2 wird wieder hergeholt
Sleep(1000)
GUIDelete($gui1) ;fenster 1 wird gelöscht
Sleep(1000)
;end
Hier mal ein Beispiel
Hi,
danke jetzt funktioniert es perfekt.
MfG
Bladerunner
PS: Das Forum hier ist wirklich das beste was es gibt!
machs doch mit Switch - Endswitch und
[autoit]
$hGui1 = GUICreate("GUI1")
GUICtrlCreateButton("OK", ....)
GUICtrlSetOnEvent(-1, "ButtonClick")
$hGui2 = GUICreate("GUI2")
GUICtrlSetOnEvent(-1, "ButtonClick")
$hGui3 = GUICreate("GUI3")
GUICtrlSetOnEvent(-1, "ButtonClick")
$hGui4 = GUICreate("GUI4")
GUICtrlSetOnEvent(-1, "ButtonClick")
While 1
WEnd
Func ButtonClick()
Switch @GUI_WinHandle
Case $hGui1
GUISetState(@SW_HIDE, $hGui1)
Case $hGui2
GUISetState(@SW_HIDE, $hGui2)
Case $hGui3
GUISetState(@SW_HIDE, $hGui3)
Case $hGui4
GUISetState(@SW_HIDE, $hGui4)
EndSwitch
EndFunc ;==>ButtonClick
Sollte eigentlich so funktionieren..
EDIT: Ach ne zu langsam -.-
Hab das ganze mal in eine funktion gepackt, vielleicht kannst du es ja gebrauchen
_MsgBox("Text","Titel"(optional),X-Koordinate(optional),Y-Koordinate(optional))
_MsgBox("Hallo ich bin eine MsgBox. Ich möchte gerne an einer bestimmten Stelle umgebrochen werden.", "Hallo",200,300)
[/autoit] [autoit][/autoit] [autoit]Func _MsgBox($__MsgBox_sText, $__MsgBox_sTitle = "", $__MsgBox_x = -1, $__MsgBox_y = -1)
Local $__MsgBox_sNewText, $__MsgBox_iStart, $__MsgBox_oldhWnd = GUISwitch(""), $__MsgBox_Ltop = 26
While StringLen($__MsgBox_sText) > $__MsgBox_iStart + 70
$__MsgBox_sNewText &= StringStripWS(StringTrimRight(StringTrimLeft($__MsgBox_sText, $__MsgBox_iStart), StringLen($__MsgBox_sText) - $__MsgBox_iStart - 70), 1) & "|"
$__MsgBox_iStart += 70
WEnd
$__MsgBox_sNewText &= StringStripWS(StringTrimLeft($__MsgBox_sText, $__MsgBox_iStart), 1)
$__MsgBox_aNewText = StringSplit($__MsgBox_sNewText, "|")
$__MsgBox_hGUI = GUICreate($__MsgBox_sTitle, 435, 127 + (15 * $__MsgBox_aNewText[0]), $__MsgBox_x, $__MsgBox_y, BitOR(0x00000080, 0x00080000, 0x00400000))
GUISetFont(9.6)
For $i = 1 To $__MsgBox_aNewText[0]
GUICtrlCreateLabel($__MsgBox_aNewText[$i], 12, $__MsgBox_Ltop, 435 - 24, 15)
$__MsgBox_Ltop += 15
Next
GUICtrlCreateLabel(" ", 0, $__MsgBox_Ltop + 30, 435, (127 + (15 * $__MsgBox_aNewText[0])) - ($__MsgBox_Ltop + 30))
GUICtrlSetState(-1, 128)
GUICtrlSetBkColor(-1, 0x00F0F0F0)
GUISetBkColor(0xFFFFFF)
$__MsgBox_btn_Ok = GUICtrlCreateButton("OK", 323, $__MsgBox_Ltop + 43, 100, 25)
GUISetState()
DllCall("user32.dll", "int", "MessageBeep", "int", 0x0)
Do
$__MsgBox_nMsg = GUIGetMsg()
Sleep(10)
Until $__MsgBox_nMsg = -3 Or $__MsgBox_nMsg = $__MsgBox_btn_Ok
GUIDelete($__MsgBox_hGUI)
GUISwitch($__MsgBox_oldhWnd)
EndFunc
Wer mag, kann gerne die automatische Größenanpassung einzubauen