dmob Posted March 17, 2016 Share Posted March 17, 2016 Hi Melba Date code still missing in UDF.... you must have uploaded wrong? version. My apologies for stressing you out, and it must be late there (its already past 22:30 here so it's past midnight there..) No rush, tomorrow.... Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 17, 2016 Author Moderators Share Posted March 17, 2016 dmob Not past midnight here in the UK. I have just checked the files I uploaded and they are identical to the ones I am using to test. You do realise that the different columns have different editing modes set? ListView Col 0 Col 1 Col 2 LH Edit Edit DTP RH Combo Edit DTP So you should only see a DTP appear in the rightmost columns of each ListView - which is exactly what I see. If you do not, and you are running the files as posted, please explain in detail every action you have taken which result in you not getting a DTP in that column. As it is, getting an edit in column 0 of the LH ListView is exactly what I would expect. Look at the code: ; Initiate LVEx - all columns editable $iLV_Left_Index = _GUIListViewEx_Init($cListView_Left, $aLV_List_Left, 0, 0, True, 2) ; Set col 2 to use a standard DTP defaulting to today's date _GUIListViewEx_DTPData($iLV_Left_Index, 2) So columns 0 & 1 of the LH ListView use normal edit controls when double clicked, while column 2 will display a DTP. ; Initiate LVEx - all cols editable by default $iLV_Right_Index = _GUIListViewEx_Init($hListView_Right, $aLV_List_Right, 1, 0xFF0000, True, 2) ; Set col 0 to use a combo _GUIListViewEx_ComboData($iLV_Right_Index, 0, "Combo 0|Combo 1|Combo 3") ; Set col 2 to use a non-standard DTP _GUIListViewEx_DTPData($iLV_Right_Index, 2, Default, "HH:mm") While on the RH side, column 0 uses a combo and column 2 a DTP - only column 1 will display an edit. Any clearer? 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 Link to comment Share on other sites More sharing options...
dmob Posted March 19, 2016 Share Posted March 19, 2016 Hi Melba Thanks for taking time to provide a solution. It seems to work well, but I haven't had ample opportunity to test thoroughly. I will report back soon. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 19, 2016 Author Moderators Share Posted March 19, 2016 dmob, More than happy to wait for the reports, so do take your time. I have spent the past few days completely rewriting a lot of the editing code within the UDF to make setting the edit/combo/DTP mode more intuitive - and to have a degree of commonality in how they all react to user keystrokes. I am very pleased with it so far and the new code will make adding any further controls (IP address or Slider perhaps?) to the possible editing choices very much easier. I will try and release an Alpha version for others to test tomorrow. M23 dmob 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 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 20, 2016 Author Moderators Share Posted March 20, 2016 (edited) Hi all, Here is an Alpha version of the UDF with a completely rewritten method of setting the "editable" columns. Major changes from the current version are: No requirement to use $aAdded + 2 to make the ListView editable - the initially non-editable status of each column can be individually set and reset after the ListView is initialised In place of setting the editable columns via a parameter in _GUIListViewEx_Init, 3 functions are now available to set the editable status of a column: _GUIListViewEx_EditStatus either sets a standard edit or makes the column uneditable, _GUIListViewEx_ComboData sets the column to edit via a combo (the data in the combo can be reset using another call), _GUIListViewEx_DTPData sets the column to use a date control (again the default value and format of the control can re changed by recalling the function). As standard text edits are likely to be the most common form of edit, _GUIListViewEx_EditStatus can accept ranges of columns in a single call - the other 2 only accept a single column for each call. The manner in which the various controls react to user key strokes has been standardised: {ENTER} & {ESCAPE} work as before: the edit is either accepted or abandoned. {TAB} still accepts the edit and moves to the column to the right if it is editable and $iEditMode allows. The right/left/up/down keys now only work inside the editing control (l/r in an edit - u/d in a combo or date control). They no longer move the edit to the next row or column as before. However, if the Ctrl key is also pressed, then the arrow keys will move the edit location. But as the date and combo both use the u/d keys to change the selected data, any edit using them will be abandoned, although a simple text edit will still be accepted. As well as any remarks about the new way of using the UDF in general, I would be particularly grateful for comments on whether this "new" key behaviour is acceptable. I can still tweak it quite a lot, but I have tried to make it as simple as possible (the old code was becoming very difficult to maintain) and as standard as possible across the various editing options. Here is the Alpha UDF itself and 2 examples; the first allows you to adjust the editable status of the 2 ListViews while the script runs - the second shows that the editable status of a column is maintained even when other columns are inserted an deleted, plus that the status survives a save/reload cycle: <snip> No rush for replies - I am away for much of this next week - so please do take your time and test things properly. Thanks in advance to any participants. M23 Edited March 26, 2016 by Melba23 Alpha code removed 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 Link to comment Share on other sites More sharing options...
Zambi Posted March 20, 2016 Share Posted March 20, 2016 Here's my failed attempt to modify Example 5. Can someone tell me what I'm doing wrong? When the button is pressed, I modify the array $aTom that feeds the ListView, and load the new array, one item at a time*, into the existing listview. So far so good: the ListView updates. But the moment I drag and drop any row, the ListView returns to whatever contents it had when it was initiated. Can someone tell me what I'm doing wrong? expandcollapse popup#include <GuiConstantsEx.au3> #include <WindowsConstants.au3> #include "GUIListViewEx.au3" $hGUI = GUICreate("Test", 400, 400) ; Create ListViews $cLV_Tom = GUICtrlCreateListView("First Name",10, 30, 180, 300) _GUICtrlListView_SetColumnWidth($cLV_Tom, 0, 140) $btn = GUICtrlCreateButton("Change Array", 200, 10, 80, 20) ; Create arrays and fill ListViews Global $aTom[150] For $i = 0 To 149 $aTom[$i] = "First " & $i GUICtrlCreateListViewItem($aTom[$i], $cLV_Tom) Next ; Initiate ListViews and set differing external drag/drop states GUICtrlCreateLabel("Normal", 10, 10, 180, 20) $iLV_Tom = _GUIListViewEx_Init($cLV_Tom, $aTom, 0, 0, True) ; External drag & drop - items deleted on drag GUISetState() _GUIListViewEx_MsgRegister() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit ;>>>>>>>>>>>>>>>>>> Case $btn ;_GUIListViewEx_Close($cLV_Tom) _GUICtrlListView_DeleteAllItems($cLV_Tom) For $x = 0 To 149 $aTom[$x] = "Second " & $x GUICtrlCreateListViewItem($aTom[$x], $cLV_Tom) Next ;_ArrayDisplay($aTom) ;$iLV_Tom = _GUIListViewEx_Init($cLV_Tom, $aTom, 0, 0, True) ; External drag & drop - items deleted on drag ;_GUIListViewEx_MsgRegister() ;GUISetState() ;>>>>>>>>>>>>>>>>>>>>>> EndSwitch WEnd * Another question, is there an easier way of loading an array into a ListView in one go instead of using a For-Next loop that does the insertion one line at a time? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 20, 2016 Author Moderators Share Posted March 20, 2016 Zambi, You need to close the ListView to purge all its data from the UDF before you reinitialise it with the new data. And when you close it, you need to use the index return by the UDF, not the ControlID: Case $btn _GUIListViewEx_Close($iLV_Tom) ; Use the index, not the ControlID, to close the ListView _GUICtrlListView_DeleteAllItems($cLV_Tom) For $x = 0 To 149 $aTom[$x] = "Second " & $x GUICtrlCreateListViewItem($aTom[$x], $cLV_Tom) Next ;_ArrayDisplay($aTom) $iLV_Tom = _GUIListViewEx_Init($cLV_Tom, $aTom, 0, 0, True) ; Now reintialise with the new array As you were not closing the old ListView correctly, you still had the old data in the UDF. All clear? As to your final question, a quick look through the Help file might have pointed out _GUICtrlListView_AddArray as a possible candidate to load ListViews without a loop. 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 Link to comment Share on other sites More sharing options...
Zambi Posted March 20, 2016 Share Posted March 20, 2016 14 minutes ago, Melba23 said: Zambi, You need to close the ListView to purge all its data from the UDF before you reinitialise it with the new data. And when you close it, you need to use the index return by the UDF, not the ControlID: Case $btn _GUIListViewEx_Close($iLV_Tom) ; Use the index, not the ControlID, to close the ListView _GUICtrlListView_DeleteAllItems($cLV_Tom) For $x = 0 To 149 $aTom[$x] = "Second " & $x GUICtrlCreateListViewItem($aTom[$x], $cLV_Tom) Next ;_ArrayDisplay($aTom) $iLV_Tom = _GUIListViewEx_Init($cLV_Tom, $aTom, 0, 0, True) ; Now reintialise with the new array As you were not closing the old ListView correctly, you still had the old data in the UDF. All clear? As to your final question, a quick look through the Help file might have pointed out _GUICtrlListView_AddArray as a possible candidate to load ListViews without a loop. M23 Hi Melba. I had tried multiple variations of the _GUICtrlListView_AddArray before based on the online documentation (please see below, the commented-out lines). All of them result in a crash with "subscript out of range" error. I stopped using it thinking the "native" GUIListView.au3 was "clashing" with your UDF GUIListViewEx.au, especially as the UDF's code includes a command to load file but not from an array. I guess I'll have to try some more variations. Steep learning curve expandcollapse popup#include <GuiConstantsEx.au3> #include <WindowsConstants.au3> #include <GUIListView.au3> #include "GUIListViewEx.au3" $hGUI = GUICreate("Test", 400, 400) ; Create ListViews $cLV_Tom = GUICtrlCreateListView("First Name",10, 30, 180, 300) _GUICtrlListView_SetColumnWidth($cLV_Tom, 0, 140) $btn = GUICtrlCreateButton("Change Array", 200, 10, 80, 20) ; Create arrays and fill ListViews Global $aTom[150] For $i = 0 To 149 $aTom[$i] = "First " & $i GUICtrlCreateListViewItem($aTom[$i], $cLV_Tom) Next ; Initiate ListViews and set differing external drag/drop states GUICtrlCreateLabel("Normal", 10, 10, 180, 20) $iLV_Tom = _GUIListViewEx_Init($cLV_Tom, $aTom, 0, 0, True) ; External drag & drop - items deleted on drag GUISetState() _GUIListViewEx_MsgRegister() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit ;>>>>>>>>>>>>>>>>>> Case $btn _GUIListViewEx_Close($iLV_Tom) ; Use the index, not the ControlID, to close the ListView _GUICtrlListView_DeleteAllItems($cLV_Tom) ;~ For $x = 0 To 149 ;~ $aTom[$x] = "Second " & $x ;~ GUICtrlCreateListViewItem($aTom[$x], $cLV_Tom) ;~ Next _GUICtrlListView_SetItemCount($cLV_Tom, UBound($aTom)) ;_GUICtrlListView_SetItemCount($cLV_Tom, UBound($aTom) +1) ;_GUICtrlListView_SetItemCount($cLV_Tom, UBound($aTom) -1) _GUICtrlListView_SetItemCount($cLV_Tom, 200) _GUICtrlListView_AddArray($cLV_Tom, $aTom) ;_ArrayDisplay($aTom) $iLV_Tom = _GUIListViewEx_Init($cLV_Tom, $aTom, 0, 0, True) ; Now reintialise with the new array EndSwitch WEnd Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 20, 2016 Author Moderators Share Posted March 20, 2016 Zambi, _GUICtrlListView_AddArray requires a 2D array - as shown in the Help file. And there is no absolute requirement to use _GUICtrlListView_SetItemCount: Case $btn _GUIListViewEx_Close($iLV_Tom) ; Use the index, not the ControlID, to close the ListView _GUICtrlListView_DeleteAllItems($cLV_Tom) Local $aTom[150][1] ; _GUICtrlListView_AddArray requires a 2D array For $x = 0 To 149 $aTom[$x][0] = "Second " & $x Next _GUICtrlListView_AddArray($cLV_Tom, $aTom) ;_ArrayDisplay($aTom) $iLV_Tom = _GUIListViewEx_Init($cLV_Tom, $aTom, 0, 0, True) ; Now reintialise with the new array 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 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 26, 2016 Author Moderators Share Posted March 26, 2016 (edited) Hi, Following the absolutely underwhelming response to my request for testers of the new Alpha version I posted at #465 above I have revisited the code and now propose this slightly modified UDF. As before, the user sets the editable columns using a separate function rather than as a parameter when initialising - but I have combined the various modes (edit/combo/date) into a single function (_GUIListViewEx_SetEditStatus ) which sets the editing mode to be used for a column. I have amended the examples to reflect this change and here are the 3 files: <snip> As before, any comments on the amended fashion in which the columns are now set as editable and how these edits respond to user key inputs (see earlier post for details on how these have changed) would be much appreciated. Thanks in advance to any testers. M23 Edited March 28, 2016 by Melba23 Alpha code removed argumentum 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 Link to comment Share on other sites More sharing options...
argumentum Posted March 26, 2016 Share Posted March 26, 2016 (edited) Quite busy these last weeks, did not read much. I'll be testing as soon as I get my current project out of my head. But looking at it, in an unrelated topic, would you like to change the behaviour, where if you pass the given point to outside the marker , the UDF cancel the operation ? It may sound like a useless request but it conforms with an intuitive expectation for canceling the operation. Edited March 26, 2016 by argumentum Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 26, 2016 Author Moderators Share Posted March 26, 2016 argumentum, I would argue that the intuitive expectation is that the item is moved to the bottom of the ListView items - as happens currently. This is particularly true if the ListView is initially empty and so there are no current items to display an "insert mark" - where else can you drop the item other then on the empty space of the ListView?. 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 Link to comment Share on other sites More sharing options...
argumentum Posted March 26, 2016 Share Posted March 26, 2016 4 minutes ago, Melba23 said: argumentum, I would argue that the intuitive expectation is that the item is moved to the bottom of the ListView items - as happens currently. This is particularly true if the ListView is initially empty and so there are no current items to display an "insert mark" - where else can you drop the item other then on the empty space of the ListView?. M23 ...is a way to cancel the operation, mostly, when there are very many items. Is quite doable but is a matter of expectation on the GUI's behaviour. As far as the possibility of a listview with less than 2 items, there is nothing to rearrange within the same listview. To clarify, I've been referring to the rearrangement of items within the same listview operation. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
argumentum Posted March 26, 2016 Share Posted March 26, 2016 3 minutes ago, argumentum said: ...is a way to cancel the operation, Dropping in on the form itself would cancel the operation anyway, do not go too crazy about it. Is just an expected behaviour on my part. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 26, 2016 Author Moderators Share Posted March 26, 2016 argumentum, Quote As far as the possibility of a listview with less than 2 items, there is nothing to rearrange within the same listview Remember that you can drag/drop between ListViews as well. Quote do not go too crazy about it I promise that I will not..... M23 argumentum 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 Link to comment Share on other sites More sharing options...
dmob Posted March 28, 2016 Share Posted March 28, 2016 (edited) Hi Melba I love the new UDF format. Possible bug: _GUIListViewEx_SetEditStatus($iLV_Index, $vCol , 3, "2016/02/14", "yyyy/mm/dd") gives me: The month seems to assume a random number, even numbers greater than 12. Edited March 28, 2016 by dmob Additional info Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 28, 2016 Author Moderators Share Posted March 28, 2016 dmob, Nothing to do with the UDF - that is a "keyboard-chair interface" error: ; - Display format string for date control uses any of following plus required punctuation/spacing: ; [...] ; "mm" - Two digit minute padded with leading zero if required ; [...] ; "MM" - Two digit month number padded with leading zero if required ; [...] If you set the string to "yyyy/MM/dd" you will get the month displayed rather than the minute. 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 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 28, 2016 Author Moderators Share Posted March 28, 2016 (edited) Hi all, A new, slightly tweaked Alpha version of the UDF and 2 examples - see posts #465 & #470 above for explanations on how it differs from the last release: <snip> All comments welcome. M23 Edited April 19, 2016 by Melba23 Alpha code removed dmob 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 Link to comment Share on other sites More sharing options...
dmob Posted March 28, 2016 Share Posted March 28, 2016 4 hours ago, Melba23 said: Nothing to do with the UDF - that is a "keyboard-chair interface" error: Oops I need thicker glasses, my bad Link to comment Share on other sites More sharing options...
Thomymaster Posted April 8, 2016 Share Posted April 8, 2016 Hi I have a quick question (i am new to this UDF) i use the current version and need to know how to change the color of the clicked row in the ListView. It it set to blue (i assume a default value) and i need to change it to red. Best, Thomas Link to comment Share on other sites More sharing options...
Recommended Posts