Hallo habe folgedes Problem wenn ich auf insert Pic Klicke kriege ich diverse fehlermeldung !!??
kann das mal jemand sich anschauen ?
und würde gerne diesen code ei mir einbauen weiss aber nicht wie?
weil die listview stört wenn das bild drinne ist , also müsste ich auch die listview per maus verschieben können???
diesen würde ich gerne in mein code einbauen ohne das ich die resizing funktion verliere:
Spoiler anzeigen
#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()
Hier mein Code:
Spoiler anzeigen
#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
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)
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)
$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)
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)
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)
;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)
$hEdit = GUICtrlCreateInput('', 5, 5, 195, 20)
$hButton = GuiCtrlCreateButton("...",205,5,30,20)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUIRegisterMsg($WM_HSCROLL, "WM_HVSCROLL")
; #MAIN LOOP# ==============================================================================================
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
Case $inspic
$message = "Bild auswählen"
$bild = FileOpenDialog($message, @WindowsDir & "\", "Bilder (*.jpg;*.bmp)", 1 + 4 )
$Pic=GUICtrlCreatePic($bild, 150, 150)
GUISetState(@SW_SHOW)
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# =====================================================================================
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()
EndFunc
Func _EditEsc()
GuiSetState(@SW_HIDE, $EditBox)
GuiSetState(@SW_ENABLE, $hGui)
WinActivate($hGui)
GUIRegisterMsg($WM_ACTIVATE, "")
HotKeySet('{ESC}')
HotKeySet('{ENTER}')
EndFunc
; #REGISTERED FUNCTIONS# ==================================================================================
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
EndFunc
Func WM_HVSCROLL($hwnd, $iMsg, $wParam, $lParam)
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
EndFunc
Func WM_ACTIVATE($hWnd, $Msg, $wParam, $lParam)
$state = WinGetState($hGui)
If NOT BitAnd($state, Then
GuiSetState(@SW_HIDE, $EditBox)
WinActivate($hGui)
Else
GuiSetState(@SW_Show, $EditBox)
EndIf
EndFunc