Hey,
gibt es eine Möglichkeit die Beschriftung der Buttons in einer MsgBox selber zu bestimmen?
Mfg
MsgBox() Buttons
-
- [ offen ]
-
r1fLeX -
29. Oktober 2008 um 20:13 -
Geschlossen -
Erledigt
-
-
Ich würd dir empfehlen einen eigenen Dialog zu basteln.
-
Ja, ist aber nicht ganz einfach. Hab deshalb mal eine UDF geschrieben: MessageBox mit Benutzerdefinierten Schaltflächen
-
Ich danke vielmals. Auto It.de
-
Ok , jetzt hab ich ein Prob , deine UDF bietet nur 3 Schaltflächen . . . Ich brauche 6 :).
-
Hab deshalb mal eine UDF geschrieben: MessageBox mit Benutzerdefinierten Schaltflächen
Klingt ja sehr interessant.
Entschuldigt aber bitte meine naive Frage: Wie binde ich so eine UDF in mein Skript ein, etwa einfach per #include?
Wenn ich im Forum nach udf suche, erhalte ich keine Treffer. -
[autoit]
[/autoit]
; Hier gleich 5 Beispiele
MsgBox(00000000585850008544400000000000087000000 , "" , "Test")
MsgBox(00000000000000000000000000000000087000000 , "" , "Test")
MsgBox(0000000660000000087000000 , "" , "Test")
MsgBox(87 , "" , "Test")
MsgBox(13858382840958832+602358068266802 , "" , "Test")
-
Ich bräuchte aber 1 MsgBox mit 6 Schalftflächen.
-
UDF bedeuted: User Defined Function (Benutzerdefinierte Funktion)
und du hast 2 Möglichekeiten:
1) den Code direkt in dein Skript kopieren ( bei größeren nicht so toll)
2) mit #include einbinden. #include "UDF.au3"
Ordner für #include-Dateien: include im AutoIt-Verzeichnis (da sind alle Standard-UDFs, wie array.au3, GuiConstants.au3)
oder im Skript-Verzeichnis
oder den ganzen Pfad angeben: #include "C:\Pfad\zur\in.au3"//Edit: Message Box mit 6 Schaltflächen musst du dir selber machen ...
-
progandy , das war jetzt keineswegs böse gemeint!
Gibt es den eine Möglichkeit nur mit dem ProcesssNamen an die PID zu kommen? =)
-
Ne das war auch nicht so verstanden. Hab nur gemeint, dass du das mit GUICreatemachen musst und nicht die normale MsgBox verwenden kannst.
Hab da aber schon was gefunden: http://www.autoitscript.com/forum/index.php?showtopic=67521&hl=MessageBox davon die _CustomBox
und PID zu Prozess: $pid = ProcessExists("prozess.exe")
PID zu Fenster: WinGetProcess -
und du hast 2 Möglichekeiten:
1) den Code direkt in dein Skript kopieren ( bei größeren nicht so toll)
2) mit #include einbinden. #include "UDF.au3"
Danke dir, hätte ich auch selbst drauf kommen sollen -
DANKEEEE!
Wie benutze ich nun die _CustomBox() ? -
Was ich nicht verstehe ist...Warum benutzt du kein GUIfenster?
-
Weil ich leider mit 2 Guis nicht zurechtkomme , da ich mich mit den GuiOnEventMode's nicht auskenne und mit GetMsg(1) finde ich sehr kompliziert und mir erschien eine MsgBox mit 6 Buttons viiiiel leichter für den Benutzer.
-
Da ich kein neues Thema erstellen möchte frage ich einfach hier:
[autoit]
Warum wird in diesem Code beim 2. Refresh immer nur Programm Manager angezeigt?#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include<process.au3>$Form1 = GUICreate("Process Manager", 257, 414, 195, 121)
[/autoit]
$Button1 = GUICtrlCreateButton("Refresh", 0, 18, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
$Button2 = GUICtrlCreateButton("Schließen", 0, 36, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
$Button3 = GUICtrlCreateButton("Priorität", 0, 54, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
$List1 = GUICtrlCreateList("", 99, 18, 157, 188)
$List2 = GUICtrlCreateList("", 99, 225, 157, 188)
$Label1 = GUICtrlCreateLabel("Processes", 150, 0, 53, 17)
$Label2 = GUICtrlCreateLabel("Windows", 150, 207, 48, 17)
$Button4 = GUICtrlCreateButton("Refresh", 0, 225, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
$Button5 = GUICtrlCreateButton("Close", 0, 243, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
$Button6 = GUICtrlCreateButton("Rename", 0, 261, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
$Button7 = GUICtrlCreateButton("Hide/Show", 0, 279, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
$Button8 = GUICtrlCreateButton("Flash", 0, 297, 100, 19, 0)
GUICtrlSetBkColor(-1, 0x808080)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$liste = ProcessList()
For $i = 1 To $liste[0][0]
$test = GUICtrlSetData($List1, $liste[$i][0])
Next
Case $Button2
$auslesen = GUICtrlRead($List1)
If $auslesen = "" Then
MsgBox(48, "Fehler", "Bitte wähle einen Process aus!")
Else
ProcessClose($auslesen)
EndIf
Case $Button3
$auslesen = GUICtrlRead($List1)
If $auslesen = "" Then
MsgBox(48, "Fehler", "Bitte wähle einen Process aus!")
Else
$prioritaet = InputBox("Eingabe", "Gebe bitte die entsprechende Zahl ein" & @CRLF & "0 - Niedrig" & @CRLF & "1 - Niedriger als normal" & @CRLF & "2 - Normal" & @CRLF & "3 - Höher als normal" & @CRLF & "4 - Hoch" & @CRLF & "5 - Echtzeit Mit Vorsicht verwenden, kann das System instabil machen!", "2", "", 265, 220)
$name = WinGetProcess ( $auslesen )
ProcessSetPriority ($name, $prioritaet)
EndIf
Case $Button4
$liste2 = WinList()
For $i = 1 To $liste2[0][0]
$test2 = GUICtrlSetData($List2, $liste2[$i][0])
Next
EndSwitch
WEnd -
DANKEEEE!
Wie benutze ich nun die _CustomBox() ?
Da ist doch eine Hilfe mit im Paket