TheDcoder Posted January 3, 2016 Posted January 3, 2016 Hello! I want to keep track of all the ListViewItems in a ListView:#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 267, 206, 192, 124) $ListView1 = GUICtrlCreateListView("Col 1|Col 2", 8, 8, 250, 150) $Button1 = GUICtrlCreateButton("Get Extended", 8, 168, 251, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GUICtrlCreateListViewItem("Foo|Bar", $ListView1) ; Extended: Comman Placeholders GUICtrlCreateListViewItem("Baz|Qux", $ListView1) ; Extended: Rare Placeholders While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 ; ...? EndSwitch WEndIn the above example situation, I want to get the extended text (commented after each ListViewItem) for the the ListViewItem... If I select Foo & Bar (1st Item) and press "Get Extended" a MsgBox should display "Comman Placeholders" Thanks in Advance, TD P.S The items are dynamically created in my program and the extended information is stored in a array EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
TheDcoder Posted January 3, 2016 Author Posted January 3, 2016 This is a perfect situation to use maps, I hope it may release soon! EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
Moderators Melba23 Posted January 3, 2016 Moderators Posted January 3, 2016 TheDcoder,The items are dynamically created in my program and the extended information is stored in a arrayAnd what is the link between the two? How do you determine which element of the extended information array relates to the selected ListView item?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
TheDcoder Posted January 3, 2016 Author Posted January 3, 2016 And what is the link between the two?Each Item has a path associated...How do you determine which element of the extended information array relates to the selected ListView item?That is what I was looking for EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
Moderators Melba23 Posted January 3, 2016 Moderators Posted January 3, 2016 TheDcoder,Assuming that you create the extended information at the same time as a ListView row, you can use an array to very easily link the two elements:#include <GUIConstantsEx.au3> #include <GuiListView.au3> Global $aData[2][2] = [["Foo|Bar", "Comman Placeholder"], ["Baz|Qux", "Rare Placeholders"]] $Form1 = GUICreate("Form1", 267, 206, 192, 124) $ListView1 = GUICtrlCreateListView("Col 1|Col 2", 8, 8, 250, 150) $Button1 = GUICtrlCreateButton("Get Extended", 8, 168, 251, 25) GUISetState(@SW_SHOW) For $i = 0 To UBound($aData) - 1 GUICtrlCreateListViewItem($aData[$i][0], $ListView1) Next While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $iIndex = _GUICtrlListView_GetSelectedIndices($ListView1) If $iIndex <> "" Then MsgBox($MB_SYSTEMMODAL, "Extended", $aData[$iIndex][1]) EndIf EndSwitch WEndJust add a new row to the array each time you create a ListView row.M23 TheDcoder 1 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
TheDcoder Posted January 3, 2016 Author Posted January 3, 2016 @Melba23 Just what I was looking for, Thanks you! EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
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