Hallo,
habe eine frage wie kann ich in eine gui bilder einfügen über durchsuchen und im laufenden betrieb sie verschieben?
danke
in GUI bilder einfügen und verschieben
-
- [ offen ]
-
subzero007 -
25. Mai 2009 um 10:47 -
Geschlossen -
Erledigt
-
-
hiermit kannst ein bild-ctrl in ein gui einfügen
[autoit]GUICtrlCreatePic ( filename, left, top [, width [, height [, style [, exStyle]]]] )
[/autoit]den pfad lannst du zb über
[autoit]FileOpenDialog ( "title", "init dir", "filter" [, options [, "default name" [, hwnd]]] )
[/autoit]ermitteln...
was meinst du mit verschieben??? bitte genauer erklären was du vor hast!
-
ich möchte die "zeichnung" "bild" in der gui frei verschieben weil es transparent sein wird ich will dann das bild dem desktop anpassen, ich hoffe ich konnte dir meine vorstellung erleutern??
-
Da bleibt nur noch 1 Frage: Willstu das Pic per Mouse verschieben oder nicht?
Wenn ja dann hab ich dir hier mal was geschrieben (hoffe es geht, weil ich es bei mir gerade nicht testen kann):
Spoiler anzeigen
[autoit]$Pos_M2 = MouseGetPos()
[/autoit] [autoit][/autoit] [autoit]
_DragMe($GuiHandle, $DeinPic)Func _DragMe($hwnd, $Ctrl)
[/autoit]
Local $Pos_C, $Pos_M, $Pos_M2, $Opt_old
Local $dll = DllOpen("user32.dll")
$Opt_old = Opt('MouseCoordMode', 0)
$Pos_C = ControlGetPos($hwnd, "", $Ctrl)
$Pos_M = MouseGetPos()
$y_Offset = $Pos_M[1] - $Pos_C[1]
$x_Offset = $Pos_M[0] - $Pos_C[0]
While _IsPressed('01', $dll)
$Pos_M = MouseGetPos()
If $Pos_M <> $Pos_M2 Then
If $Pos_M[1] > $Pos_C[1] + $y_Offset AND $Pos_M[1] < $Pos_C[3] - $Pos_C[1] - $y_Offset Then
If $Pos_M[0] > $Pos_C[0] + $x_Offset AND $Pos_M[0] < $Pos_C[2] - $Pos_C[0] - $x_Offset Then
GUICtrlSetPos($Ctrl,$Pos_M[2] - $x_Offset, $Pos_M[1] - $y_Offset)
Sleep(50)
EndIf
EndIf
EndIf
$Pos_M = $Pos_M2
sleep(50)
WEnd
DllClose($dll)
Opt('MouseCoordMode', $Opt_old)
EndFunc -
wenn du noch satzzeichen verwenden würdest und du dir ein bisschen mehr mühe beim schreiben geben würdest, wäre ich dir sehr dankbar.
mal n ganz einfaches beispiel wie du es machen kannst (nur mal eben schnell gecoded - ungetestet) kannst dir ja noch ausbauen...
[autoit]
[/autoit]
#Include <GUIConstantsEx.au3>
#NoTrayIcon
Opt("GUIOnEventMode", 1)
Opt("GUICoordMode", 0)
Global $posXStart, $posYStart, $posXStop, $posYStop
$main=GUICreate("Tööööst", @DesktopWidth ,@DesktopHeight-55)
GUISetOnEvent($GUI_EVENT_CLOSE, "_GUIEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_GUIEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "_GUIEvents")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_leftClicked")
GUISetOnEvent($GUI_EVENT_PRIMARYUP, "_leftReleased")
$pic=GUICtrlCreatePic("C:\WINDOWS\Help\Tours\htmlTour\safe_easy_easier.jpg", @DesktopWidth/2, @DesktopHeight/2)
GUISetState(@SW_SHOW, $main)
While True
Sleep(10)
WEnd
Func _GUIEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
Case @GUI_CtrlId = $GUI_EVENT_RESTORE
EndSelect
EndFunc ;==> _GUIEvents()
Func _leftClicked()
$pos=MouseGetPos()
$posXStart=$pos[0]
$posYStart=$pos[1]
EndFunc ;==> _leftClicked()
Func _leftReleased()
$pos=MouseGetPos()
$posXStop=$pos[0]
$posYStop=$pos[1]
GUICtrlSetPos($pic, -1*($posXStart-$posXStop), -1*($posYStart-$posYStop))
EndFunc ;==> _leftClicked() -
so....
das mit dem bild klappt ja wunder bar aber wie sieht es den aus wenn ich meine listview auch verschieben möchte wie mein Pic.
vorallem sehe ich die listview nicht mehr?
und an welche stelle muss ich fileopen dialog setzen damit ich die bilder auswählen kann?
wo ist der fehler?Spoiler anzeigen
[autoit]#cs **************************************************************************
[/autoit] [autoit][/autoit] [autoit]Programme in TreeView ausführen (Drag & Drop)
[/autoit] [autoit][/autoit] [autoit]https://autoit.de/index.php?page…96194#post96194
[/autoit] [autoit][/autoit] [autoit]#ce **************************************************************************
[/autoit] [autoit][/autoit] [autoit]; #AUTHOR = CHAOSKEKS# ============================================================================
[/autoit] [autoit][/autoit] [autoit]
; #NAME = CHAOS-EXECUTION#
; #DATE = 24.05.2009#
; Resizen eingebaut AutoBert 25.05.2009
#include <ListviewConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <SliderConstants.au3>
#Include <GuiListView.au3>
#Include <Array.au3>
#Include <File.au3>Global $Active = True, $mod = True, $i, $trans = 0
[/autoit] [autoit][/autoit] [autoit]
Dim $filepaths[1],$szDrive, $szDir, $szFName, $szExt$hGUI = GUICreate("Chaos-Execution", 275, 310, Default, Default, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_ACCEPTFILES)
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)
Opt("GUICoordMode", 0)
Global $posXStart, $posYStart, $posXStop, $posYStop
;$main=GUICreate("Tööööst", @DesktopWidth ,@DesktopHeight-55)
GUISetOnEvent($GUI_EVENT_CLOSE, "_GUIEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_GUIEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "_GUIEvents")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_leftClicked")
GUISetOnEvent($GUI_EVENT_PRIMARYUP, "_leftReleased")
$pic=GUICtrlCreatePic("C:\WINDOWS\Help\Tours\htmlTour\safe_easy_easier.jpg", @DesktopWidth/2, @DesktopHeight/2)
GUISetState(@SW_SHOW, $hGui)
While True
Sleep(10)
WEnd
Func _GUIEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
Case @GUI_CtrlId = $GUI_EVENT_RESTORE
EndSelect
EndFunc ;==> _GUIEvents()
Func _leftClicked()
$pos=MouseGetPos()
$posXStart=$pos[0]
$posYStart=$pos[1]
EndFunc ;==> _leftClicked()
Func _leftReleased()
$pos=MouseGetPos()
$posXStop=$pos[0]
$posYStop=$pos[1]
GUICtrlSetPos($pic, -1*($posXStart-$posXStop), -1*($posYStart-$posYStop))
EndFuncGUICtrlSetState(-1, $GUI_DROPACCEPTED)
[/autoit] [autoit][/autoit] [autoit]
$hListview = GUICtrlCreateListView("Files|*. Ext", 10, 10, 254, 220)
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) ;Abstand zu allen 4 Seiten bleibt fix
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
_GUICtrlListView_SetColumnWidth($hListView, 0, 199)
IF FileExists(@ScriptDir&"/ExecuteItLog.ini") Then
$aData = IniReadSection(@ScriptDir&"\ExecuteItLog.ini","Files")
For $i = 1 To UBound($aData) - 1
_ArrayAdd($filepaths, $aData[$i][1])
$split = _PathSplit($aData[$i][1], $szDrive, $szDir, $szFName, $szExt)
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView, $i-1,StringTrimLeft($split[4],1),1)
Next
$trans = IniRead(@ScriptDir&"\ExecuteItLog.ini","Trans","Key1", "0")
FileDelete(@ScriptDir&"/ExecuteItLog.ini")
EndIf$contextmenu = GUICtrlCreateContextMenu($hListView)
[/autoit] [autoit][/autoit] [autoit]
$insertitem = GUICtrlCreateMenuItem("Insert Item(s)", $contextmenu)
$renameitem = GUICtrlCreateMenuItem("Rename", $contextmenu)
$deletemenu = GUICtrlCreateMenu("Delete...", $contextmenu)
$deleteAll = GUICtrlCreateMenuItem("All Items", $deletemenu)
$deleteitem = GUICtrlCreateMenuItem("Selected Item", $deletemenu)
GUICtrlCreateMenuItem("", $contextmenu)
$exititem = GUICtrlCreateMenuItem("Exit", $contextmenu)$deletebutton = GuiCtrlCreateButton("&Delete List",54,252,60,28)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKSIZE + $GUI_DOCKBOTTOM)
;Abstand Links und unten bleibt fix die Größe (Breite und Höhe) ebenso
$insertbutton = GuiCtrlCreateButton("&Insert",10,252,40,28)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKSIZE + $GUI_DOCKBOTTOM)
;Abstand Links und unten bleibt fix die Größe (Breite und Höhe) ebenso
$label = GUICtrlCreateLabel("Transparence = 0%", 148, 237, -1, 14)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
;Abstand Rechts und unten bleibt fix die Höhe ebenso
$slider = GUICtrlCreateSlider(120, 257, 144, 20, BitOR($TBS_AUTOTICKS, $WS_BORDER))
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
;Abstand Rechts und unten bleibt fix die Höhe ebenso
GuiCtrlSetLimit($slider, 80,0)
GuiCtrlSetData($slider, $trans)
GUICtrlSetData($label, "Transparence = " & GUICtrlRead($slider) & "%")
WinSetTrans("Chaos-Execution", "", 255 - GUICtrlRead($slider) * 2.55)
Dim $Acc[2][2] = [["^i", $insertButton], ["^d", $deleteALL]]
GUISetAccelerators($Acc)
GUISetState(@SW_SHOW)$EditBox = GUICreate('', 240, 30, -1, -1, BitOR($WS_POPUP,$WS_BORDER),$WS_EX_TOPMOST+$WS_EX_MDICHILD,$hGui)
[/autoit] [autoit][/autoit] [autoit]
$hEdit = GUICtrlCreateInput('', 5, 5, 195, 20)
$hButton = GuiCtrlCreateButton("...",205,5,30,20)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUIRegisterMsg($WM_HSCROLL, "WM_HVSCROLL"); #MAIN LOOP# ==============================================================================================
[/autoit] [autoit][/autoit] [autoit]
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE,$exititem
For $i = 1 To Ubound($filepaths)-1
IniWrite(@ScriptDir&"\ExecuteItLog.ini","Files", "Key"&$i,$filepaths[$i]& @LF)
Next
IniWrite(@ScriptDir&"\ExecuteItLog.ini","Trans", "Key1",GuiCtrlRead($slider))
Exit
Case $GUI_EVENT_DROPPED
$file = @GUI_DragFile
If StringRegExp($file, "^.+\.(?i)((EXE)|(AU3)|(GIF)|(JPG))$") Then
_ArrayAdd($filepaths, $file)
$split = _PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView, _GuiCtrlListView_GetItemCount($hlistview)-1,StringTrimLeft($split[4],1),1)
Else
MsgBox(64, "Chaos-Execution Info!", $file & @CRLF & "Is an invalid file type.")
EndIf
Case $hButton
GUIRegisterMsg($WM_ACTIVATE, "")
GuiSetState(@SW_HIDE, $EditBox)
GuiSetState(@SW_HIDE, $hGui)
$insert = FileOpenDialog("Select an item to insert!",@DesktopDir, "Dateien(*.Exe;*.Au3;*.gif;*.jpg)",1)
GuiSetState(@SW_SHOW, $hGui)
If $insert <> "" Then
For $i = 0 To _GuiCtrlListView_GetItemCount($hlistview)
If _GuiCtrlListView_GetItemSelected($hlistview,$i) Then
$mod = False
ExitLoop
EndIf
Next
$split = _PathSplit($insert, $szDrive, $szDir, $szFName, $szExt)
GuiCtrlSetData($hEdit, $split[3])
GuiSetState(@SW_Show, $EditBox)
Else
_EditEsc()
EndIf
GUIRegisterMsg($WM_ACTIVATE, "WM_ACTIVATE")
Case $insertitem,$insertButton
$insert = FileOpenDialog("Select an item to insert!",@DesktopDir, "Dateien(*.Exe;*.Au3;*.gif;*.jpg)",5)
If $insert <> "" Then
$insertsplit = StringSplit($insert, "|")
For $i = 1 To Ubound($insertsplit) -1
$split = _PathSplit($insertsplit[$i], $szDrive, $szDir, $szFName, $szExt)
If Ubound($insertsplit) -1 > 1 Then
If $i > 1 Then
_ArrayAdd($filepaths, $insertsplit[1]&"\"&$insertsplit[$i])
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView,_GuiCtrlListView_GetItemCount($hlistview)-1,StringTrimLeft($split[4],1),1)
EndIf
Else
_ArrayAdd($filepaths, $insertsplit[$i])
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView,_GuiCtrlListView_GetItemCount($hlistview)-1,StringTrimLeft($split[4],1),1)
EndIf
Next
EndIf
Case $renameitem
Local $posGui, $posControl, $textItem
For $i = 0 To _GuiCtrlListView_GetItemCount($hlistview)
If _GuiCtrlListView_GetItemSelected($hlistview,$i) Then
$textItem = _GUICtrlListView_GetItemText($hlistview, $i)
$posControl = _GuiCtrlListView_GetItemPositionY($hlistview, $i)
$posGui = WinGetPos($hGui)
ExitLoop
EndIf
Next
If $textitem <> "" Then
GUIRegisterMsg($WM_ACTIVATE, "WM_ACTIVATE")
GuiSetState(@SW_DISABLE, $hGui)
$mod = True
HotKeySet('{ESC}', '_EditEsc')
HotKeySet('{ENTER}', '_EditEnter')
GUICtrlSetData($hEdit, $textItem)
WinMove($EditBox, "", $posGui[0]+19,$posGui[1]+$posControl+28)
GuiSetState(@SW_SHOW, $EditBox)
EndIf
Case $deleteitem
For $i = 0 To _GuiCtrlListView_GetItemCount($hlistview)
If _GuiCtrlListView_GetItemSelected($hlistview,$i) Then
ExitLoop
EndIf
Next
_ArrayDelete($filepaths,$i+1)
_GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($hListView))
Case $deleteAll, $deleteButton
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hListView))
For $i = 1 To Ubound($filepaths)-1
_ArrayDelete($filepaths, $i)
Next
EndSwitch
WEnd; #INTERNAL FUNCTIONS# =====================================================================================
[/autoit] [autoit][/autoit] [autoit]
Func _EditEnter()
$text = GUICtrlRead($hEdit)
If $mod Then
$split = _PathSplit($filepaths[$i+1], $szDrive, $szDir, $szFName, $szExt)
FileMove($filepaths[$i+1], $split[1] & $split[2] & $text & $split[4])
$filepaths[$i+1] = $split[1] & $split[2] & $text & $split[4]
Else
$filepaths[$i+1] = $insert
$split = _PathSplit($filepaths[$i+1], $szDrive, $szDir, $szFName, $szExt)
EndIf
_GUICtrlListView_SetItemText($hListView, $i, $text)
_GUICtrlListView_SetItemText($hListView, $i, StringTrimLeft($split[4],1),1)
_EditEsc()
EndFuncFunc _EditEsc()
[/autoit] [autoit][/autoit] [autoit]
GuiSetState(@SW_HIDE, $EditBox)
GuiSetState(@SW_ENABLE, $hGui)
WinActivate($hGui)
GUIRegisterMsg($WM_ACTIVATE, "")
HotKeySet('{ESC}')
HotKeySet('{ENTER}')
EndFunc; #REGISTERED FUNCTIONS# ==================================================================================
[/autoit] [autoit][/autoit] [autoit]
Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return 0
$code = DllStructGetData($tagNMHDR, 3)
If $wParam = $hListView And $code = -3 And _GUICtrlListView_GetSelectedCount($hListView) > 0 Then
For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
IF _GUICtrlListView_GetItemSelected($hListView, $i) Then
ShellExecute($filepaths[$i+1])
EndIf
Next
Endif
Return $GUI_RUNDEFMSG
EndFuncFunc WM_HVSCROLL($hwnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
Local $hWndFrom, $iCode
If Not IsHWnd($slider) Then $hWndCombo1 = GUICtrlGetHandle($slider)
$hWndFrom = $lParam
$iCode = _WinAPI_HiWord($wParam)
Switch $hWndFrom
Case $slider, $hWndCombo1
GUICtrlSetData($label, "Transparence = " & GUICtrlRead($slider) & "%")
WinSetTrans("Chaos-Execution", "", 255 - GUICtrlRead($slider) * 2.55)
EndSwitch
EndFuncFunc WM_ACTIVATE($hWnd, $Msg, $wParam, $lParam)
[/autoit]
$state = WinGetState($hGui)
If NOT BitAnd($state,
Then
GuiSetState(@SW_HIDE, $EditBox)
WinActivate($hGui)
Else
GuiSetState(@SW_Show, $EditBox)
EndIf
EndFunc -
Mal ne ganz kurze zwischenfrage

wenn man in einer Combobox ( hab mir z.B. ein script geschrieben wo ich per Combobox meine Games aussuche und mitm Button "Start Game" das spiel starte) wenn man da dann nur z.B. Counterstrike Source angegeben hat (ohne klick auf Run oder so) das daneben dann mit dem befehl "GUICtrlCreatePic" ein kleines Bild danebenmachen kann, und wenn man dann z.B. auf Warcraft 3 geht sich es automatisch ändert und dann auf Run Game drücken kann..
geht das?
If abfrage?
If Combobox = Counterstrike Source then
GuiCtrlCreatePicso in etwa geht das???
MFG: Blacky911 -
Hallo subzero007,
in dem Skript (von @ChaosKeks) hab ich dir in einem anderen Thread etra das Resizen eingefügt. Das man es auch wieder ausschalten möchte darüber habe ich mir bisher keine Gedanken gemacht. Beschreib mal genau was du erreichen möchtest (Aussehen der GUI, notfalls Bilder erstellen, wie welches Control aussehen soll)
Hallo @Blackdeath,
mach einen eigenen Thread auf und lies die Forenregeln
besonders diese Stelle:ZitatFolgende Inhalte sind nicht erwünscht oder gar komplett verboten. Das Team behält es sich ausdrücklich vor, die Umsetzung der Regeln je nach Schweregrad zu verwarnen, zu löschen oder gar komplett zu sperren.
- Bots für Spiele jeglicher Art, insbesondere Onlinespiele und ganz besonders Silkroad Online sowie World of Warcraft
mfg (Auto)Bert
-
Hallo subzero007,
in dem Skript (von @ChaosKeks) hab ich dir in einem anderen Thread etra das Resizen eingefügt. Das man es auch wieder ausschalten möchte darüber habe ich mir bisher keine Gedanken gemacht. Beschreib mal genau was du erreichen möchtest (Aussehen der GUI, notfalls Bilder erstellen, wie welches Control aussehen soll)
Hallo @Blackdeath,
mach einen eigenen Thread auf und lies die Forenregeln
besonders diese Stelle:mfg (Auto)Bert
ich denke er will keinen bot machen, sondern eine art game-starter mit vorschaubild... aber wie AutoBert schon geschrieben hat, bitte extra thread aufmachen!
-
Das man es auch wieder ausschalten möchte darüber habe ich mir bisher keine Gedanken gemacht. Beschreib mal genau was du erreichen möchtest (Aussehen der GUI, notfalls Bilder erstellen, wie welches Control aussehen soll)
Eh ausschalten geht glaub ich mit GuiSetStyle..
-
Ok ich wähle die möglichkeit mit dem bild

so ungefähr soll es aussehen wo ich bilder manuell hinzufügen aber auch entfernen kann , und sie anschliessen plazieren kann.
Die bilder sollten dann über eine ini wissen wo sie standen und welche bilder vor allem in der gui waren .
das ganze sollte mann anpassen können,so dass man auch die listview mit den button's verschieben kann und das ganze transparent.Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
keine idee?
-
leider hänge ich wieder finde den fehler nicht??!!
siehe zeile 56- 64
mein ziel ist es bilder in die GUI zu packen und sie anschliessend per maus verschieben können und auch entfernen eine idee?
ist es dabei möglich die bilder gross zu ziehen, wenn ich die bilder eingefügt habe.
Das ich sie positioniere mit der maus und anschliessen die grösse des bildes anpassen kann?Spoiler anzeigen
[autoit]#cs **************************************************************************
[/autoit] [autoit][/autoit] [autoit]Programme in TreeView ausführen (Drag & Drop)
[/autoit] [autoit][/autoit] [autoit]https://autoit.de/index.php?page…96194#post96194
[/autoit] [autoit][/autoit] [autoit]#ce **************************************************************************
[/autoit] [autoit][/autoit] [autoit]; #AUTHOR = CHAOSKEKS# ============================================================================
[/autoit] [autoit][/autoit] [autoit]
; #NAME = CHAOS-EXECUTION#
; #DATE = 24.05.2009#
; Resizen eingebaut AutoBert 25.05.2009
#include <ListviewConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <SliderConstants.au3>
#Include <GuiListView.au3>
#Include <Array.au3>
#Include <File.au3>Global $Active = True, $mod = True, $i, $trans = 0
[/autoit] [autoit][/autoit] [autoit]
Dim $filepaths[1],$szDrive, $szDir, $szFName, $szExt$hGUI = GUICreate("Chaos-Execution", 275, 310, Default, Default, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_ACCEPTFILES)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$hListview = GUICtrlCreateListView("Files|*. Ext", 10, 10, 254, 220)
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) ;Abstand zu allen 4 Seiten bleibt fix
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
_GUICtrlListView_SetColumnWidth($hListView, 0, 199)
IF FileExists(@ScriptDir&"/ExecuteItLog.ini") Then
$aData = IniReadSection(@ScriptDir&"\ExecuteItLog.ini","Files")
For $i = 1 To UBound($aData) - 1
_ArrayAdd($filepaths, $aData[$i][1])
$split = _PathSplit($aData[$i][1], $szDrive, $szDir, $szFName, $szExt)
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView, $i-1,StringTrimLeft($split[4],1),1)
Next
$trans = IniRead(@ScriptDir&"\ExecuteItLog.ini","Trans","Key1", "0")
FileDelete(@ScriptDir&"/ExecuteItLog.ini")
EndIf$contextmenu = GUICtrlCreateContextMenu($hListView)
[/autoit] [autoit][/autoit] [autoit]
$insertitem = GUICtrlCreateMenuItem("Insert Item(s)", $contextmenu)
$renameitem = GUICtrlCreateMenuItem("Rename", $contextmenu)
$deletemenu = GUICtrlCreateMenu("Delete...", $contextmenu)
$deleteAll = GUICtrlCreateMenuItem("All Items", $deletemenu)
$deleteitem = GUICtrlCreateMenuItem("Selected Item", $deletemenu)
GUICtrlCreateMenuItem("", $contextmenu)
$exititem = GUICtrlCreateMenuItem("Exit", $contextmenu)$deletebutton = GuiCtrlCreateButton("&Delete List",54,252,60,28)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKSIZE + $GUI_DOCKBOTTOM)
;Abstand Links und unten bleibt fix die Größe (Breite und Höhe) ebenso
$insertbutton = GuiCtrlCreateButton("&Insert",10,252,40,28)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKSIZE + $GUI_DOCKBOTTOM)$delpic = GuiCtrlCreateButton("Delete Pic",170,252,60,28)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKSIZE + $GUI_DOCKBOTTOM)
;Abstand Links und unten bleibt fix die Größe (Breite und Höhe) ebenso
$inspic = GuiCtrlCreateButton("Insert Pic",115,252,50,28)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKSIZE + $GUI_DOCKBOTTOM)
$message = "Bild auswählen"
$var = FileOpenDialog($message, @WindowsDir & "\", "Bilder (*.jpg;*.bmp)", 1 + 4 )
$Pic=GUICtrlCreatePic($var)
GUISetState(@SW_SHOW);Abstand Links und unten bleibt fix die Größe (Breite und Höhe) ebenso
[/autoit] [autoit][/autoit] [autoit]
$label = GUICtrlCreateLabel("Transparence = 0%", 148, 237, -1, 14)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
;Abstand Rechts und unten bleibt fix die Höhe ebenso
$slider = GUICtrlCreateSlider(120, 257, 144, 20, BitOR($TBS_AUTOTICKS, $WS_BORDER))
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
;Abstand Rechts und unten bleibt fix die Höhe ebenso
GuiCtrlSetLimit($slider, 80,0)
GuiCtrlSetData($slider, $trans)
GUICtrlSetData($label, "Transparence = " & GUICtrlRead($slider) & "%")
WinSetTrans("Chaos-Execution", "", 255 - GUICtrlRead($slider) * 2.55)
Dim $Acc[2][2] = [["^i", $insertButton], ["^d", $deleteALL]]
GUISetAccelerators($Acc)
GUISetState(@SW_SHOW)$EditBox = GUICreate('', 240, 30, -1, -1, BitOR($WS_POPUP,$WS_BORDER),$WS_EX_TOPMOST+$WS_EX_MDICHILD,$hGui)
[/autoit] [autoit][/autoit] [autoit]
$hEdit = GUICtrlCreateInput('', 5, 5, 195, 20)
$hButton = GuiCtrlCreateButton("...",205,5,30,20)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUIRegisterMsg($WM_HSCROLL, "WM_HVSCROLL"); #MAIN LOOP# ==============================================================================================
[/autoit] [autoit][/autoit] [autoit]
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE,$exititem
For $i = 1 To Ubound($filepaths)-1
IniWrite(@ScriptDir&"\ExecuteItLog.ini","Files", "Key"&$i,$filepaths[$i]& @LF)
Next
IniWrite(@ScriptDir&"\ExecuteItLog.ini","Trans", "Key1",GuiCtrlRead($slider))
Exit
Case $GUI_EVENT_DROPPED
$file = @GUI_DragFile
If StringRegExp($file, "^.+\.(?i)((EXE)|(AU3)|(GIF)|(JPG))$") Then
_ArrayAdd($filepaths, $file)
$split = _PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView, _GuiCtrlListView_GetItemCount($hlistview)-1,StringTrimLeft($split[4],1),1)
Else
MsgBox(64, "Chaos-Execution Info!", $file & @CRLF & "Is an invalid file type.")
EndIf
Case $hButton
GUIRegisterMsg($WM_ACTIVATE, "")
GuiSetState(@SW_HIDE, $EditBox)
GuiSetState(@SW_HIDE, $hGui)
$insert = FileOpenDialog("Select an item to insert!",@DesktopDir, "Dateien(*.Exe;*.Au3;*.gif;*.jpg)",1)
GuiSetState(@SW_SHOW, $hGui)
If $insert <> "" Then
For $i = 0 To _GuiCtrlListView_GetItemCount($hlistview)
If _GuiCtrlListView_GetItemSelected($hlistview,$i) Then
$mod = False
ExitLoop
EndIf
Next
$split = _PathSplit($insert, $szDrive, $szDir, $szFName, $szExt)
GuiCtrlSetData($hEdit, $split[3])
GuiSetState(@SW_Show, $EditBox)
Else
_EditEsc()
EndIf
GUIRegisterMsg($WM_ACTIVATE, "WM_ACTIVATE")
Case $insertitem,$insertButton
$insert = FileOpenDialog("Select an item to insert!",@DesktopDir, "Dateien(*.Exe;*.Au3;*.gif;*.jpg)",5)
If $insert <> "" Then
$insertsplit = StringSplit($insert, "|")
For $i = 1 To Ubound($insertsplit) -1
$split = _PathSplit($insertsplit[$i], $szDrive, $szDir, $szFName, $szExt)
If Ubound($insertsplit) -1 > 1 Then
If $i > 1 Then
_ArrayAdd($filepaths, $insertsplit[1]&"\"&$insertsplit[$i])
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView,_GuiCtrlListView_GetItemCount($hlistview)-1,StringTrimLeft($split[4],1),1)
EndIf
Else
_ArrayAdd($filepaths, $insertsplit[$i])
_GUICtrlListView_AddItem($hListview, $split[3])
_GUICtrlListView_AddSubItem($hListView,_GuiCtrlListView_GetItemCount($hlistview)-1,StringTrimLeft($split[4],1),1)
EndIf
Next
EndIf
Case $renameitem
Local $posGui, $posControl, $textItem
For $i = 0 To _GuiCtrlListView_GetItemCount($hlistview)
If _GuiCtrlListView_GetItemSelected($hlistview,$i) Then
$textItem = _GUICtrlListView_GetItemText($hlistview, $i)
$posControl = _GuiCtrlListView_GetItemPositionY($hlistview, $i)
$posGui = WinGetPos($hGui)
ExitLoop
EndIf
Next
If $textitem <> "" Then
GUIRegisterMsg($WM_ACTIVATE, "WM_ACTIVATE")
GuiSetState(@SW_DISABLE, $hGui)
$mod = True
HotKeySet('{ESC}', '_EditEsc')
HotKeySet('{ENTER}', '_EditEnter')
GUICtrlSetData($hEdit, $textItem)
WinMove($EditBox, "", $posGui[0]+19,$posGui[1]+$posControl+28)
GuiSetState(@SW_SHOW, $EditBox)
EndIf
Case $deleteitem
For $i = 0 To _GuiCtrlListView_GetItemCount($hlistview)
If _GuiCtrlListView_GetItemSelected($hlistview,$i) Then
ExitLoop
EndIf
Next
_ArrayDelete($filepaths,$i+1)
_GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($hListView))
Case $deleteAll, $deleteButton
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hListView))
For $i = 1 To Ubound($filepaths)-1
_ArrayDelete($filepaths, $i)
Next
EndSwitch
WEnd; #INTERNAL FUNCTIONS# =====================================================================================
[/autoit] [autoit][/autoit] [autoit]
Func _EditEnter()
$text = GUICtrlRead($hEdit)
If $mod Then
$split = _PathSplit($filepaths[$i+1], $szDrive, $szDir, $szFName, $szExt)
FileMove($filepaths[$i+1], $split[1] & $split[2] & $text & $split[4])
$filepaths[$i+1] = $split[1] & $split[2] & $text & $split[4]
Else
$filepaths[$i+1] = $insert
$split = _PathSplit($filepaths[$i+1], $szDrive, $szDir, $szFName, $szExt)
EndIf
_GUICtrlListView_SetItemText($hListView, $i, $text)
_GUICtrlListView_SetItemText($hListView, $i, StringTrimLeft($split[4],1),1)
_EditEsc()
EndFuncFunc _EditEsc()
[/autoit] [autoit][/autoit] [autoit]
GuiSetState(@SW_HIDE, $EditBox)
GuiSetState(@SW_ENABLE, $hGui)
WinActivate($hGui)
GUIRegisterMsg($WM_ACTIVATE, "")
HotKeySet('{ESC}')
HotKeySet('{ENTER}')
EndFunc; #REGISTERED FUNCTIONS# ==================================================================================
[/autoit] [autoit][/autoit] [autoit]
Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return 0
$code = DllStructGetData($tagNMHDR, 3)
If $wParam = $hListView And $code = -3 And _GUICtrlListView_GetSelectedCount($hListView) > 0 Then
For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
IF _GUICtrlListView_GetItemSelected($hListView, $i) Then
ShellExecute($filepaths[$i+1])
EndIf
Next
Endif
Return $GUI_RUNDEFMSG
EndFuncFunc WM_HVSCROLL($hwnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
Local $hWndFrom, $iCode
If Not IsHWnd($slider) Then $hWndCombo1 = GUICtrlGetHandle($slider)
$hWndFrom = $lParam
$iCode = _WinAPI_HiWord($wParam)
Switch $hWndFrom
Case $slider, $hWndCombo1
GUICtrlSetData($label, "Transparence = " & GUICtrlRead($slider) & "%")
WinSetTrans("Chaos-Execution", "", 255 - GUICtrlRead($slider) * 2.55)
EndSwitch
EndFuncFunc WM_ACTIVATE($hWnd, $Msg, $wParam, $lParam)
[/autoit]
$state = WinGetState($hGui)
If NOT BitAnd($state,
Then
GuiSetState(@SW_HIDE, $EditBox)
WinActivate($hGui)
Else
GuiSetState(@SW_Show, $EditBox)
EndIf
EndFunc