E1M1 Posted June 4, 2010 Share Posted June 4, 2010 (edited) Ok I created listview, now how I add desttop icons? I tried to create listviewitem but nothing appeared in listview. All I want is create my own desktop but I can't find out how to add icons. Also how do i create that listview with out header at very top of control. expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> if $cmdline[0] > 0 Then $data = "" for $i = 1 To $cmdline[0] $data &= $cmdline[$i] &" " Next MsgBox(0,0,$data) EndIf #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Program Manager", @DesktopWidth, @DesktopHeight, 0, 0,0x96000000,0x00000080) $icons = GUICtrlCreateListView ( "", 0, 0 ,@DesktopWidth, 994 ,0x56002A40 ,0x00000000 ) WinActivate("Program Manager") ControlSetText ( "Program Manager","", "[CLASS:SysListView32; INSTANCE:1]","FolderView") ControlListView ( "Program Manager","FolderView", "[CLASS:SysListView32; INSTANCE:1]", "ViewChange", "details" ) #Include <GuiListView.au3> _GUICtrlListView_AddItem($icons, "lol") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### #Region ### START Koda GUI section ### Form= $Form2 = GUICreate("", @DesktopWidth, 30, 0, @DesktopHeight-30,0x96000000,0x00000088) $start = GUICtrlCreateButton("Start",0,0,99,30) #Include <GuiToolBar.au3> $TOOLBAR = _GUICtrlToolbar_Create($Form2,0x52009345,0x00000000) ControlMove($Form2,"","[CLASS:ToolbarWindow32; INSTANCE:1]",105,0) WinSetOnTop($Form2,"",1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $start run(InputBox("","")) EndSwitch WEnd thanks. Edited June 4, 2010 by E1M1 edited Link to comment Share on other sites More sharing options...
evilertoaster Posted June 4, 2010 Share Posted June 4, 2010 Hummm, this maybe? #include <GUIConstantsEx.au3> #Include <GuiListView.au3> #Include <GuiToolBar.au3> if $cmdline[0] > 0 Then $data = "" for $i = 1 To $cmdline[0] $data &= $cmdline[$i] &" " Next MsgBox(0,0,$data) EndIf GUICreate("Program Manager", @DesktopWidth, @DesktopHeight, 0, 0,0x96000000,0x00000080) $icons = GUICtrlCreateListView ("FolderView", 0, 0 ,@DesktopWidth, 994 ,0x0003) ControlListView ("Program Manager","FolderView", "[CLASS:SysListView32; INSTANCE:1]", "ViewChange", "details" ) _GUICtrlListView_AddItem($icons, "lol") GUISetState() GUICreate("", @DesktopWidth, 135, 0, @DesktopHeight-30,0x96000000,0x00000088) WinSetOnTop(-1,"",1) $TOOLBAR = _GUICtrlToolbar_Create(-1,0x52009345,0x00000000) $start = GUICtrlCreateButton("Start",0,0,99,30) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $start run(InputBox("","")) EndSwitch WEnd Link to comment Share on other sites More sharing options...
E1M1 Posted June 5, 2010 Author Share Posted June 5, 2010 tnx, now I have items added, now how I add icons? How do I get right icons right file types? I tried to add some images (look for ; Load images from comments) but it didn't work. also how do I enable icon moving by dragging? expandcollapse popup#include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <GuiToolBar.au3> #include <GuiImageList.au3> #include <file.au3> If $cmdline[0] > 0 Then $data = "" For $i = 1 To $cmdline[0] $data &= $cmdline[$i] & " " Next EndIf GUICreate("Program Manager2", @DesktopWidth, @DesktopHeight, 0, 0, 0x96000000, 0x00000080) $icons = GUICtrlCreateListView("FolderView", 0, 0, @DesktopWidth, 994, 0x0003) ControlListView("Program Manager2", "FolderView", "[CLASS:SysListView32; INSTANCE:1]", "ViewChange", "largeicons") AddIcons() _GUICtrlListView_SetView($icons, 1) GUISetState() GUICreate("", @DesktopWidth, 135, 0, @DesktopHeight - 30, 0x96000000, 0x00000088) WinSetOnTop(-1, "", 1) $TOOLBAR = _GUICtrlToolbar_Create(-1, 0x52009345, 0x00000000) $start = GUICtrlCreateButton("Start", 0, 0, 99, 30) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $start Run(InputBox("", "")) EndSwitch WEnd Func AddIcons() ; Load images $hImage = _GUIImageList_Create() _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($icons, 0xFF0000, 16, 16)) _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($icons, 0x00FF00, 16, 16)) _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($icons, 0x0000FF, 16, 16)) _GUICtrlListView_SetImageList($icons, $hImage, 1) $filearray = _FileListToArray(@DesktopDir, "*", 1) If Not @error Then For $i = 1 To $filearray[0] _GUICtrlListView_AddItem($icons, "File " & $filearray[$i],1) Next EndIf $dirarray = _FileListToArray(@DesktopDir, "*", 2) If Not @error Then For $i = 1 To $dirarray[0] _GUICtrlListView_AddItem($icons, "Dir " & $dirarray[$i],2) Next EndIf $filearray = _FileListToArray(@DesktopCommonDir, "*", 1) If Not @error Then For $i = 1 To $filearray[0] _GUICtrlListView_AddItem($icons, "File " & $filearray[$i]) Next EndIf $dirarray = _FileListToArray(@DesktopCommonDir, "*", 2) If Not @error Then For $i = 1 To $dirarray[0] _GUICtrlListView_AddItem($icons, "Dir " & $dirarray[$i]) Next EndIf EndFunc ;==>_AddIcons How to make that window stay behind other windows? edited Link to comment Share on other sites More sharing options...
E1M1 Posted June 7, 2010 Author Share Posted June 7, 2010 I tried to make it transparent like real desktop window is but how do I code it so that gui hole won't cut icons? expandcollapse popup#include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <GuiToolBar.au3> #include <GuiImageList.au3> #include <file.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> Global $htit = _WinAPI_GetSystemMetrics($SM_CYCAPTION) Global $frame = _WinAPI_GetSystemMetrics($SM_CXDLGFRAME) If $cmdline[0] > 0 Then $data = "" For $i = 1 To $cmdline[0] $data &= $cmdline[$i] & " " Next EndIf $gui = GUICreate("Program Manager2", @DesktopWidth, @DesktopHeight, 0, 0, 0x96000000, 0x00000080) $icons = GUICtrlCreateListView("FolderView", 0, 0, @DesktopWidth, 994, 0x0003) ControlListView("Program Manager2", "FolderView", "[CLASS:SysListView32; INSTANCE:1]", "ViewChange", "largeicons") $pos = WinGetPos($gui) ; get whole window size (no client size defined in GUICreate) Global $width = $pos[2] Global $height = $pos[3] _GuiHole($gui, 0, 0, 260, 170) AddIcons() _GUICtrlListView_SetView($icons, 1) GUISetState() GUICreate("", @DesktopWidth, 135, 0, @DesktopHeight - 30, 0x96000000, 0x00000088) WinSetOnTop(-1, "", 1) $TOOLBAR = _GUICtrlToolbar_Create(-1, 0x52009345, 0x00000000) $start = GUICtrlCreateButton("Start", 0, 0, 99, 30) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $start Run(InputBox("", "")) EndSwitch WEnd Func AddIcons() ; Load images $hImage = _GUIImageList_Create() _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($icons, 0xFF0000, 16, 16)) _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($icons, 0x00FF00, 16, 16)) _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($icons, 0x0000FF, 16, 16)) _GUICtrlListView_SetImageList($icons, $hImage, 1) $filearray = _FileListToArray(@DesktopDir, "*", 1) If Not @error Then For $i = 1 To $filearray[0] _GUICtrlListView_AddItem($icons, "File " & $filearray[$i],1) Next EndIf $dirarray = _FileListToArray(@DesktopDir, "*", 2) If Not @error Then For $i = 1 To $dirarray[0] _GUICtrlListView_AddItem($icons, "Dir " & $dirarray[$i],2) Next EndIf $filearray = _FileListToArray(@DesktopCommonDir, "*", 1) If Not @error Then For $i = 1 To $filearray[0] _GUICtrlListView_AddItem($icons, "File " & $filearray[$i]) Next EndIf $dirarray = _FileListToArray(@DesktopCommonDir, "*", 2) If Not @error Then For $i = 1 To $dirarray[0] _GUICtrlListView_AddItem($icons, "Dir " & $dirarray[$i]) Next EndIf EndFunc ;==>_AddIcons ; make inner transparent area but add controls Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh) Local $outer_rgn, $inner_rgn, $combined_rgn $outer_rgn = _WinAPI_CreateRectRgn(0, 0, $width, $height) $inner_rgn = _WinAPI_CreateRectRgn($i_x, $i_y, $i_x + $i_sizew, $i_y + $i_sizeh) $combined_rgn = _WinAPI_CreateRectRgn(0, 0, 0, 0) _WinAPI_CombineRgn($combined_rgn, $outer_rgn, $inner_rgn, $RGN_DIFF) _WinAPI_DeleteObject($outer_rgn) _WinAPI_DeleteObject($inner_rgn) ;~ _AddCtrlRegion($combined_rgn, $btn_default) ;~ _AddCtrlRegion($combined_rgn, $btn_round) ;~ _AddCtrlRegion($combined_rgn, $btn_buble) ;~ _AddCtrlRegion($combined_rgn, $btn_transparent) ;~ _AddCtrlRegion($combined_rgn, $btn_exit) _WinAPI_SetWindowRgn($h_win, $combined_rgn) EndFunc ;==>_GuiHole ; add control's area to given region ; respecting also window title/frame sizes Func _AddCtrlRegion($full_rgn, $ctrl_id) Local $ctrl_pos, $ctrl_rgn $ctrl_pos = ControlGetPos($gui, "", $ctrl_id) $ctrl_rgn = _WinAPI_CreateRectRgn($ctrl_pos[0] + $frame, $ctrl_pos[1] + $htit + $frame, _ $ctrl_pos[0] + $ctrl_pos[2] + $frame, $ctrl_pos[1] + $ctrl_pos[3] + $htit + $frame) _WinAPI_CombineRgn($full_rgn, $full_rgn, $ctrl_rgn, $RGN_OR) _WinAPI_DeleteObject($ctrl_rgn) EndFunc ;==>_AddCtrlRegion edited Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now