BuckMaster Posted July 9, 2012 Share Posted July 9, 2012 I've been having some problems adding a icon from a .dll into a treeview, Does the function _GUICtrlTreeView_SetIcon only allow you to use Shell icons or am i doing something wrong? My main script is way to large to post up so I've created a short example to illustrate my problem the resource file is attatched expandcollapse popup#include <GUITreeView.au3> #include <TreeViewConstants.au3> #include <GUIConstants.au3> Global $GUITree, $hTree $hGUI = GUICreate("Example", 500, 500, -1, -1) GUICtrlCreateLabel("Add Item Type ( 1 - 22 )", 220, 20) $hCombo = GUICtrlCreateCombo("", 220, 40, 50, 22, 0x0003) GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22", "1") $hCreate = GUICtrlCreateButton("Create Tree Item", 280, 39, 100, 22) $hTree = GUICtrlCreateTreeView( 10, 10, 200, 480, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)) GUISetState() _GUICtrlTreeView_BeginUpdate($hTree) $GUITree = _GUICtrlTreeView_Add($hTree, 0, "hGUI") _GUICtrlTreeView_SetIcon($GUITree, $GUITree, @ScriptDir&"\Resources.dll", 119) _GUICtrlTreeView_EndUpdate($hTree) While 1 $hMsg = GUIGetMsg() Switch $hMsg Case -3 Exit Case $hCreate $hTreeItem = _AddTreeItem("Control Type "&GUICtrlRead($hCombo), GUICtrlRead($hCombo)) _GUICtrlTreeView_Expand($hTree) EndSwitch WEnd Func _AddTreeItem($aName, $aType) _GUICtrlTreeView_BeginUpdate($hTree) $hItem = _GUICtrlTreeView_AddChild($hTree, $GUITree, $aName) _GUICtrlTreeView_SetIcon($hTree, $hItem, @ScriptDir&"\Resources.dll", _GetIcon($aType)) _GUICtrlTreeView_EndUpdate($hTree) ConsoleWrite("+ _AddTreeItem("&$aName&", "&$aType&") Icon # "&_GetIcon($aType)&@CRLF) Return $hItem EndFunc Func _GetIcon($Type) If $Type = 1 Then Return 122 ElseIf $Type = 2 Then Return 102 ElseIf $Type = 3 Then Return 121 ElseIf $Type = 4 Then Return 114 ElseIf $Type = 5 Then Return 105 ElseIf $Type = 6 Then Return 129 ElseIf $Type = 7 Then Return 107 ElseIf $Type = 8 Then Return 123 ElseIf $Type = 9 Then Return 111 ElseIf $Type = 10 Then Return 127 ElseIf $Type = 11 Then Return 120 ElseIf $Type = 12 Then Return 128 ElseIf $Type = 13 Then Return 135 ElseIf $Type = 14 Then Return 138 ElseIf $Type = 15 Then Return 126 ElseIf $Type = 16 Then Return 136 ElseIf $Type = 17 Then Return 133 ElseIf $Type = 18 Then Return 124 ElseIf $Type = 19 Then Return 116 ElseIf $Type = 20 Then Return 113 ElseIf $Type = 21 Then Return 118 ElseIf $Type = 22 Then Return 104 EndIf EndFunc Any help would be appreciated Resources.zip Link to comment Share on other sites More sharing options...
AZJIO Posted July 10, 2012 Share Posted July 10, 2012 expandcollapse popup#include <GUITreeView.au3> #include <TreeViewConstants.au3> #include <GUIConstants.au3> Global $GUITree, $hTree $hGUI = GUICreate("Example", 500, 500, -1, -1) GUICtrlCreateLabel("Add Item Type ( 1 - 22 )", 220, 20) $hCombo = GUICtrlCreateCombo("", 220, 40, 50, 22, 0x0003) GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22", "1") $hCreate = GUICtrlCreateButton("Create Tree Item", 280, 39, 100, 22) $hTree = GUICtrlCreateTreeView(10, 10, 200, 480, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)) GUISetState() $GUITree = _GUICtrlTreeView_Add($hTree, 0, "hGUI") _GUICtrlTreeView_SetIcon($hTree, $GUITree, @ScriptDir & "Resources.dll", -119) ; _GUICtrlTreeView_SetIcon($hTree, $GUITree, "shell32.dll", 39) While 1 Switch GUIGetMsg() Case -3 Exit Case $hCreate $hTreeItem = _AddTreeItem("Control Type " & GUICtrlRead($hCombo), GUICtrlRead($hCombo)) _GUICtrlTreeView_Expand($hTree) EndSwitch WEnd Func _AddTreeItem($aName, $aType) $hItem = _GUICtrlTreeView_AddChild($hTree, $GUITree, $aName) _GUICtrlTreeView_SetIcon($hTree, $hItem, @ScriptDir & "Resources.dll", _GetIcon($aType)) ; _GUICtrlTreeView_SetIcon($hTree, $hItem, "shell32.dll", _GetIcon($aType)) Return $hItem EndFunc Func _GetIcon($Type) Switch $Type Case 1 Return -122 Case 2 Return -102 Case 3 Return -121 Case 4 Return -114 Case 5 Return -105 Case 6 Return -129 Case 7 Return -107 Case 8 Return -123 Case 9 Return -111 Case 10 Return -127 Case 11 Return -120 Case 12 Return -128 Case 13 Return -135 Case 14 Return -138 Case 15 Return -126 Case 16 Return -136 Case 17 Return -133 Case 18 Return -124 Case 19 Return -116 Case 20 Return -113 Case 21 Return -118 Case 22 Return -104 EndSwitch EndFunc My other projects or all Link to comment Share on other sites More sharing options...
BuckMaster Posted July 10, 2012 Author Share Posted July 10, 2012 AZJIO Thank You very much, i would have never of thought to make it negative. BuckMaster Link to comment Share on other sites More sharing options...
DickG Posted February 11, 2016 Share Posted February 11, 2016 I'm trying to set a treeview icon using an icon from the Web, like this: InetGet("https://www.fastmail.com/static/favicons/icon-64x64.png", @ScriptDir & "fastmail.png", 1, 1) If Not FileExists(@ScriptDir & "fastmail.png") Then MsgBox(0, "Test", "Whoops! " & @ScriptDir & "\fastmail.png does not exist.") EndIf $SetIcon = _GUICtrlTreeView_SetIcon($Tree, $L2_item, @ScriptDir & "fastmail.png") If $SetIcon = "False" Then MsgBox(0, "Test", "Whoops! Icon not set.") EndIf But it's not setting it. It does save the file, though. I think the problem is that _GUICtrlTreeView_SetIcon() expects to retrieve an icon from an .exe or .dll rather than directly from an image file, like GUICtrlSetImage() does when setting an icon for a listview item or a button. But I don't know how to do that. Any idea? I'm building a treeview that shows bookmarks, and I want to display the icon for each bookmark. Link to comment Share on other sites More sharing options...
AutoBert Posted February 12, 2016 Share Posted February 12, 2016 Icon <> Png 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