GreenCan Posted January 23, 2009 Share Posted January 23, 2009 (edited) You can disregard this one, I found some information in other posts. GreenCan Hi, I have a question about single-item or multiple-item selection in a TreeView. I couldn't find a way to avoid the multiple selection. I want to create a configuration page with a number of TreeViews and with variable amounts of data rows per selection. To illustrate what I mean, see the attached example. Let's assume you have a variable amount of grouped items to be selected Some of the TreeViews allow miltiple selections where other only can accept one single choice. For simplicity, the example has only 1 amount of items (20) Col 1: is a simple treeview with $TVS_CHECKBOXES. Perfect works fine for multi-selects. Col 2: is what I want but I can't achieve. Same TreeView but only one check-box should be selected. (the example is the same as col 1. Col 3: the radio button alternative, not as flexible because of the missing scroll bar. Where are items 10+ in the example? Col 4: This works, a simple combo box with the default item selected. Only one item can be seleceted at a time. What I miss here is a standard way to present data to the user. So the question is, Can I make row 2 but with the limitation that only one check-box can be selected? example.au3 expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <TreeViewConstants.au3> #include <StaticConstants.au3> Opt('MustDeclareVars', 1) Local $Elements = 20 Example($Elements) Func Example($_Elements) Local $treeview, $OKbutton, $cancelbutton, $msg DIM $Columns[$_Elements][6] GUICreate("Test GUI with treeview", 800, 215) GUICtrlCreateLabel("multiple-item select", 10, 10, 110,18) Local $TreeView = GuiCtrlCreateTreeView(10, 30, 110, 120, $TVS_CHECKBOXES) For $i = 0 To UBound($Columns)-1 $Columns[$i][1] = GuiCtrlCreateTreeViewItem("Column " & $i + 1, $TreeView) If $i + 1 = 5 or $i + 1 = 6 Then GuiCtrlSetState(-1, $GUI_CHECKED) ; check if column match with list EndIf Next GUICtrlCreateLabel("single-item select???", 130, 10, 110,18) Local $TreeView = GuiCtrlCreateTreeView(130, 30, 110, 120, $TVS_CHECKBOXES) For $i = 0 To UBound($Columns)-1 $Columns[$i][2] = GuiCtrlCreateTreeViewItem("Column " & $i + 1, $TreeView) If $i +1 = 2 Then GuiCtrlSetState(-1, $GUI_CHECKED) ; Checked EndIf Next GUICtrlCreateLabel("Radio button", 260, 10, 110,18) For $i = 0 To UBound($Columns)-1 $Columns[$i][3] = GUICtrlCreateRadio("Column " & $i + 1, 260, 30 + ($i * 20), 110, 20) If $i + 1 = 12 Then GuiCtrlSetState(-1, $GUI_CHECKED) ; Default selection EndIf Next GUICtrlCreateLabel("Combo", 370, 10, 110,18) Local $Items = "None|", $DefaultItem = "" For $i = 0 To UBound($Columns)-1 $items = $items & "Column " & $i + 1 & "|" If $i + 1 = 10 Then $DefaultItem = "Column " & $i + 1 ; Default selection EndIf Next GUICtrlCreateCombo("", 370, 30, 110, 60) ; create first item GUICtrlSetData(-1, $items, $DefaultItem) ; add other item snd set a new default $OKbutton = GUICtrlCreateButton("&OK", 35, 185, 70, 20) $cancelbutton = GUICtrlCreateButton("&Cancel", 125, 185, 70, 20) GUISetState() While 1 $msg = GUIGetMsg() Select Case $msg = $cancelbutton Or $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $OKbutton ; Toggle the bold painting EndSelect WEnd GUIDelete() EndFunc ;==>Example Edited June 20, 2009 by GreenCan Contributions CheckUpdate - SelfUpdating script ------- Self updating script Dynamic input validation ------------------- Use a Input masks can make your life easier and Validation can be as simple MsgBox with CountDown ------------------- MsgBox with visual countdown Display Multiline text cells in ListView ---- Example of pop-up or ToolTip for multiline text items in ListView Presentation Manager ---------------------- Program to display and refresh different Border-less GUI's on a Display (large screen TV) USB Drive Tools ------------------------------ Tool to help you with your USB drive management Input Period udf ------------------------------ GUI for a period input Excel ColorPicker ---------------------------- Color pickup tool will allow you to select a color from the standard Excel color palette Excel Chart UDF ----------------------------- Collaboration project with water GetDateInString ------------------------------ Find date/time in a string using a date format notation like DD Mon YYYY hh:mm TaskListAllDetailed --------------------------- List All Scheduled Tasks Computer Info --------------------------------- A collection of information for helpdesk Shared memory Demo ----------------------- Demo: Two applications communicate with each other through means of a memory share (using Nomad function, 32bit only) Universal Date Format Conversion -------- Universal date converter from your PC local date format to any format Disable Windows DetailsPane -------------- Disable Windows Explorer Details Pane Oracle SQL Report Generator ------------- Oracle Report generator using SQL SQLite Report Generator ------------------- SQLite Report generator using SQL SQLite ListView and BLOB demo ---------- Demo: shows how binary (image) objects can be recognized natively in a database BLOB field DSN-Less Database connection demo --- Demo: ActiveX Data Objects DSN-Less Database access Animated animals ----------------------------- Fun: Moving animated objects Perforated image in GUI --------------------- Fun: Perforate your image with image objects UEZ's Perforator major update ------------- Fun: Pro version of Perforator by UEZ Visual Crop Tool (GUI) ----------------------- Easy to use Visual Image Crop tool Visual Image effect (GUI) -------------------- Visually apply effects on an image 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