DarkBanana Posted August 31, 2015 Posted August 31, 2015 I'm looking for a function like : _GuiCtrlTreeView_GetIcon()I need to find out whether my treeview icon has an icon or not. How do I do that?
Moderators Melba23 Posted August 31, 2015 Moderators Posted August 31, 2015 DarkBanana,You will need to use _GUICtrlTreeView_GetImageIndex - this example shows you how:expandcollapse popup#include <GUIConstantsEx.au3> #include <GuiImageList.au3> #include <GuiTreeView.au3> #include <WindowsConstants.au3> Example() Func Example() Local $ahItem[10], $hImage, $hRandomImage, $hRandomItem, $idTreeView Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS) GUICreate("TreeView Get Image Index", 400, 300) ; Create TreeView $idTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, $iStyle, $WS_EX_CLIENTEDGE) GUISetState(@SW_SHOW) ; Create ImageList $hImage = _GUIImageList_Create(16, 16, 5, 3) _GUIImageList_AddIcon($hImage, "shell32.dll", 110) _GUIImageList_AddIcon($hImage, "shell32.dll", 131) _GUIImageList_AddIcon($hImage, "shell32.dll", 165) _GUIImageList_AddIcon($hImage, "shell32.dll", 168) _GUIImageList_AddIcon($hImage, "shell32.dll", 137) _GUIImageList_AddIcon($hImage, "shell32.dll", 146) _GUICtrlTreeView_SetNormalImageList($idTreeView, $hImage) ; Fill treView _GUICtrlTreeView_BeginUpdate($idTreeView) For $x = 0 To 9 If Mod($x, 2) Then ; Create item with icon $hRandomImage = Random(0, 5, 1) $ahItem[$x] = _GUICtrlTreeView_Add($idTreeView, 0, StringFormat("[%02d] Icon Item", $x + 1), $hRandomImage, $hRandomImage) Else ; Create item without icon $ahItem[$x] = _GUICtrlTreeView_Add($idTreeView, 0, StringFormat("[%02d] No Icon Item", $x + 1), 6, 6) ; Value above image list max index EndIf Next _GUICtrlTreeView_EndUpdate($idTreeView) ; Read icon states For $iItem = 0 To 9 $iImageIndex = _GUICtrlTreeView_GetImageIndex($idTreeView, $ahItem[$iItem]) $vIcon = ( ($iImageIndex = 6) ? ("Empty") : ($iImageIndex) ) ConsoleWrite( StringFormat("Item %d Image Index: %s", $iItem, $vIcon) & @CRLF) Next ; Loop until the user exits. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>ExampleAll clear?M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
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