Jump to content

Recommended Posts

Posted (edited)

@Melba23Thank you for the reply. I’m just starting to learn your UDF and spent most of yesterday puzzled why the header coloring didn’t work as expected, even in the Example codes.

Tried numerous combinations without success, read and re-read the function definitions, rtf guide, and examples. So reached out to you to see if I had some basic misunderstanding of that function.

After I had commented, I found the recent posts where this issue was gradually uncovered by @borsTiHD and yourself. Wary of what other functionality is quietly not working as expected.

Running the code compiled in x86 mode is possible for now but writing code, debugging and testing in the interpreter is a hiccup.

Edited by CodeWriter
  • Moderators
Posted

CodeWriter,

Quote

Wary of what other functionality is quietly not working as expected

Nothing as far as I know!

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted (edited)

Here’s another quirk  with some sample code, adapted straight from your examples. The code snipet below creates a listview with 4 columns and populates them from an array[n][4]. Except for a different array name and GUI sizes, the exact same code runs without error using a listview with 2 columns and array[n][2].

; Create GUI:
    Local $hMacroGUI, $vData, $hMacro, $iEditMode = 0, $bEdited = False
    $hMacroGUI = GUICreate("Active Macros", 1520, 945, 25, 990)

    ; Create ListView using GUICtrlListViewEx.au3 UDF:
    $hMacro = _GUICtrlListView_Create($hMacroGUI, "", 5, 5, 1510, 890, BitOR($LVS_DEFAULT, $WS_BORDER))
    _GUICtrlListView_SetExtendedListViewStyle($hMacro, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_AddColumn($hMacro, "Column1", 200)
    _GUICtrlListView_AddColumn($hMacro, "Column2", 250)
    _GUICtrlListView_AddColumn($hMacro, "Column3", 400)
    _GUICtrlListView_AddColumn($hMacro, "Column4", 3000)

    ; Set font:
    Local $hFont = _WinAPI_CreateFont(19, 7, 0, 0, $FW_NORMAL, False, False, False, $DEFAULT_CHARSET, _
            $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, "Helvetica")
    _WinAPI_SetFont($hMacro, $hFont, True)

    ; Populate the ListView:
    Local $limit = UBound($Gmacro) - 1
    For $i = 0 To $limit
        _GUICtrlListView_AddItem($hMacro, $Gmacro[$i][0])
        _GUICtrlListView_AddSubItem($hMacro, $i, $Gmacro[$i][1], 1)
        _GUICtrlListView_AddSubItem($hMacro, $i, $Gmacro[$i][2], 2)
        _GUICtrlListView_AddSubItem($hMacro, $i, $Gmacro[$i][3], 3)
    Next

    ; Initialize the GUIListViewEx UDF: (16: enable color header, 32: user colored items)
    Local $iLV = _GUIListViewEx_Init($hMacro, $Gmacro, 0, 0xFF0000, True, 16 + 32)

when execution reaches the last line

Local $iLV = _GUIListViewEx_Init($hMacro, $Gmacro, 0, 0xFF0000, True, 16 + 32)

it results in the following error:

"C:\Users\...\GUIListViewEx.au3" (517) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$aLVArray[$i + $iStart][$j - 1] = $aRow[$j]
^ ERROR

I have also tried  reading the array into the UDF before initialization with the following line but it fails with the same error  from _GUIListViewEx_ReadToArray():

$aLV_List = _GUIListViewEx_ReadToArray($hMacro, 0)

Stranger still, if you simply comment out column 4 and the corresponding line populating the listview in the For loop, it works without error for a 3-column display. I don't know if this is related in some way to the same 64-bit issue but it also fails when I compile the code in x86 mode.

A separate issue is that string data in my array[n][4] can be 2000 chars long but only about 265 chars are displayed before being truncated in the listview.

Edited by CodeWriter
  • Moderators
Posted

CodeWriter,

I have added a few lines to your snippet so it runs (please post runnable code in future) and it loads a 4x4 array with no problems:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPIGdi.au3>
#include <FontConstants.au3>

#include "GUIListViewEx.au3"

Global $Gmacro[4][4] =[[1,2,3,4],[5,6,7,8],["a","b","c","d"],["w","x","y","z"]]

; Create GUI:
    Local $hMacroGUI, $vData, $hMacro, $iEditMode = 0, $bEdited = False
    $hMacroGUI = GUICreate("Active Macros", 1520, 945, 25, 25)

    ; Create ListView using GUICtrlListViewEx.au3 UDF:
    $hMacro = _GUICtrlListView_Create($hMacroGUI, "", 5, 5, 1510, 890, BitOR($LVS_DEFAULT, $WS_BORDER))
    _GUICtrlListView_SetExtendedListViewStyle($hMacro, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_AddColumn($hMacro, "Column1", 200)
    _GUICtrlListView_AddColumn($hMacro, "Column2", 250)
    _GUICtrlListView_AddColumn($hMacro, "Column3", 400)
    _GUICtrlListView_AddColumn($hMacro, "Column4", 3000)

    ; Set font:
    Local $hFont = _WinAPI_CreateFont(19, 7, 0, 0, $FW_NORMAL, False, False, False, $DEFAULT_CHARSET, _
           $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, "Helvetica")
    _WinAPI_SetFont($hMacro, $hFont, True)

    ; Populate the ListView:
    Local $limit = UBound($Gmacro) - 1
    For $i = 0 To $limit
        _GUICtrlListView_AddItem($hMacro, $Gmacro[$i][0])
        _GUICtrlListView_AddSubItem($hMacro, $i, $Gmacro[$i][1], 1)
        _GUICtrlListView_AddSubItem($hMacro, $i, $Gmacro[$i][2], 2)
        _GUICtrlListView_AddSubItem($hMacro, $i, $Gmacro[$i][3], 3)
    Next

    ; Initialize the GUIListViewEx UDF: (16: enable color header, 32: user colored items)
    Local $iLV = _GUIListViewEx_Init($hMacro, $Gmacro, 0, 0xFF0000, True, 16 + 32)

    GUISetState()

While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch

WEnd

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted

@Melba23Your example helped me to find the core issue which is the data in my array. The 4th column is populated by a 2000-3000 character string that contains UTF-8 characters. When I replace that with ASCII characters in a test, there is no error from _GUIListViewEx_Init() or_GUIListViewEx_ReadToArray(). Without the ability to use UTF-8 and the standard ListView limiting the data cells to about 265 chars, I will work on another approach. Thank you for your help.

  • Moderators
Posted

CodeWriter,

Sorry to hear that - but glad it was not my UDF at fault!

M23

 

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted (edited)

While the standard ListView and GUIListView.au3 functions can handle UTF-8 characters, something in your UDF functions _GUIListViewEx_Init() and_GUIListViewEx_ReadToArray() is unable to process those characters and throws an error.

Edited by CodeWriter
  • Moderators
Posted

CodeWriter,

Can you let me have a copy of some of the data you are trying to insert so that I can have a play and see if I can come up with a solution - via PM if you do not want to post in open forum.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

  • Moderators
Posted

All,

The problem was that the data contained the default Data Separation Character ("|") which the UDF (and AutoIt) was interpreting as a column delimiter. The solution was to change the default separator character using Opt.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

  • 1 month later...
Posted (edited)

Hi, I'm using your UDF since yesterday. Thank you very much for sharing this great work.

I am using it this way, to build an Excel-like app.

$iIDListView = GUICtrlCreateListView("", 0, 100, WinGetClientSize($hGUI)[0], WinGetClientSize($hGUI)[1] - 120, $LVS_SHOWSELALWAYS)

$hListViewHandle = GUICtrlGetHandle($iIDListView)
$aLV_Content = _GUIListViewEx_ReadToArray($iIDListView)
_GUICtrlListView_SetExtendedListViewStyle($hListViewHandle, $LVS_EX_BORDERSELECT + $LVS_EX_FULLROWSELECT + $LVS_EX_DOUBLEBUFFER + $LVS_EX_HEADERDRAGDROP + $LVS_EX_GRIDLINES)

$iLV_Index = _GUIListViewEx_Init($iIDListView, $aLV_Content, Default, Default, Default, BitOR(2, 4))
_GUIListViewEx_SetEditStatus($iLV_Index, "*")
_GUIListViewEx_MsgRegister()

However, when I add a column with the following code, the ListView suddenly becomes sortable (and I don't want it to be) :

Local $result = _GUIListViewEx_InsertColSpec($iLV_Index, 0, $sNewHeader)

Is it from my side ?

Edited by ValentinM
I tried to simplify the code, and realised it was a bad idea.

May the force be with you.

Open AutoIt Documentation within VS Code

  • Moderators
Posted (edited)

ValentinM,

I can reproduce the problem - looking into it.

M23

Edit: Found the problem and know how to fix it. But need to make sure that the same bug does not appear elsewhere.

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

  • Moderators
Posted (edited)

ValentinM,

Try this Beta and see if it fixes the problem for you: 

M23

Edited by Melba23
Beta code removed

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted (edited)
1 hour ago, Melba23 said:

ValentinM,

Try this Beta and see if it fixes the problem for you: GUIListViewEx_Mod.au3

M23

Hi M23,

I tested your code this morning, and I can say it solved the issue. I was about to say that it also happens by deleting columns but I can see you also applied your fix to the DeleteColSpec function.

Much thanks for this update. I'll keep using it and will report any troubles I find (If I ever do!)

Have a great day !

Edited by ValentinM

May the force be with you.

Open AutoIt Documentation within VS Code

  • Moderators
Posted

ValentinM,

Great news - thanks for reporting and testing.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

  • 1 month later...
Posted

Hi,

Can I ask if there is any way to check if the Edit process is undergoing ?

I am actively using  _GUIListViewEx_EventMonitor() function, but it seems like @extended is updated after the editing process has ended (ie. when we exit the edit cell). I tried searching in the UDF for any Global boolean or variable that could fit my needs by checking their values (like $hGLVEx_Editing, $cGLVEx_EditID and $fGLVEx_EditClickFlag) , but I couldn't find any. I also tried to find my answer in this topic.

On the other hand M23, do you have any Github link to this project ? So we would be able to see changes, revert versions in case of issues to test if an issue is due to a mistake from our side, or even make pull requests and (maybe) save you some time (even if i don't know if you're in lack of time due to how fast you usually answer!)

Thanks in advance.

May the force be with you.

Open AutoIt Documentation within VS Code

  • Moderators
Posted

ValentinM,

No such option at the moment - I will look into how it might be implemented. Out of interest, why do you wish to know?

No GitHub link now or in the future, sorry.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted (edited)

I am using a hotkey to delete some rows, and I would like to disable this hotkey while editing to avoid triggering the DeleteRow() function and also allow user to use the Delete key in the edit cell.

Thank you. :)

Edited by ValentinM
missing word

May the force be with you.

Open AutoIt Documentation within VS Code

  • Moderators
Posted (edited)

ValentinM,

See if this Beta meets your requirement: 

You need to use the new _GUIListViewEx_EditProcessActive function to determine if an edit process is active - the function returns the handle of the associated ListView.

Let me know what you think.

M23

Edited by Melba23
Beta code removed

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted

Thank you M23,

I tried your new UDF. I placed this snippet on the top of my GUI loop, and I have to say it doesn't work properly.

Local $test = _GUIListViewEx_EditProcessActive()
    ConsoleWrite("$test = " & $test & @CRLF)
    If $test = 0 Then
        $oLog.TracerLog("Not editing, $test = " & $test)
        $bEditingCell = False
    Else
        $oLog.TracerLog("Editing, $test = " & $test)
        $bEditingCell = True
    EndIf

This code is spamming my debug console of "Not editing, $test = 0" which is okay. But when I start editing, it seems that the GUI loop stops until I exit the cell.

Is it a behaviour you can reproduce ? If not, it would probably mean that some of my code is interfering with yours. I'm investigating.

May the force be with you.

Open AutoIt Documentation within VS Code

  • Moderators
Posted

ValentinM,

The idea behind the new function was that you call it from within the HotKetSet function and abort if the return shows you that editing is taking place. Here is the snippet that I was using to test:

; In the main code at the start:

HotKeySet("^+e", "_CheckEdit")

; And then the function called by the HotKey:

Func _CheckEdit()
    ConsoleWrite(_GUIListViewEx_EditProcess() & @CRLF)
EndFunc

I was getting either 0 or the ListView handle returned depending on the edit state.

So in your case, you would call the function as the first thing in your "hotkey to delete some rows" function and return immediately if editing was occuring - something like this:

Func _HotKey_To_Delete_Rows()

    ; Check for edit process
    If _GUIListViewEx_EditProcess() <> 0 Then
        ; Abort!
        Return
    Else
        ; Do whatever you do to delete rows
    EndIf
    
EndFunc

Does that make sense now?

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...