Jump to content
Melba23

ChooseFileFolder - New Version 03 Mar 20

Recommended Posts

Trolleule,

If you want to be able to paste a path then you need to provide your own GUI containing an input and use the _CFF_Embed function - like this:

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

#include <ChooseFileFolder.au3>

$hGUI = GUICreate("Test", 500, 500)
GUISetBkColor(0xC4C4C4)

GUICtrlCreateLabel("Insert a base path (or leave blank to browse all paths)", 10, 10, 300, 20)
$cInput = GUICtrlCreateInput("", 10, 40, 390, 20)
$cBrowse = GUICtrlCreateButton("Browse", 410, 40, 80, 25)

$cTreeView = GUICtrlCreateTreeView(10, 80, 480, 250)
$cList = GUICtrlCreateList("", 10, 345, 480, 110)

$cDone = GUICtrlCreateButton("Done (Return)", 190, 465, 120, 25)

GUISetState()

_CFF_RegMsg()

While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $cBrowse
            $sPath = GUICtrlRead($cInput)
            If $sPath <> "" Then
                If Not FileExists($sPath) Then
                    MsgBox($MB_SYSTEMMODAL, "Error", "Path does not exist")
                    ContinueLoop
                EndIf
            EndIf
            $sSel = _CFF_Embed($cTreeView, $sPath, "*.*", 0, $cDone, $cList)
            Select
                Case @error
                    MsgBox($MB_SYSTEMMODAL, "Error", @error & @CRLF & @extended)
                Case $sSel = ""
                    MsgBox($MB_SYSTEMMODAL, "Ooops", "No selection made")
                Case Else
                    $sSel = StringReplace($sSel, "|", @CRLF)
                    MsgBox($MB_SYSTEMMODAL, "Return", $sSel)
            EndSelect
            GUICtrlSetData($cInput, "")
    EndSwitch

WEnd
All clear? :)

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

 

Share this post


Link to post
Share on other sites

Hi there Melba, got a sugestion, as i was going thru the examples, in the "ChooseFileFolder_Example_1.au3", in the example 5, it said multiple files and folders, that got me thinking, how do i select multiple files and folders with control or shift pressed?

If i could do that, then click add, would be faster and more efficient.

That would give the ability for example, to select all folders in a folder very quickly, although i could enable recursive, and that would allow all files to be selected too uppon folder choosing.

Edited by careca

Spoiler

Renamer - Rename files and folders, remove portions of text from the filename etc.

GPO Tool - Export/Import Group policy settings.

MirrorDir - Synchronize/Backup/Mirror Folders

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

String Trigger - Triggers pasting text or applications or internet links on specific strings.

Inconspicuous - Hide files in plain sight, not fully encrypted.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

IUIAutomation - Topic with framework and examples

Au3Record.exe

Share this post


Link to post
Share on other sites

careca,

I am off on holiday shortly - I will see if I can come up with a multiple selection version while my better half is sunning herself and I am trying to stay "pale and interesting" in the shade. ;)

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

 

Share this post


Link to post
Share on other sites

Ah, good for you, not much time left for me to go on holiday too, after my marriage, i get 15 days off work. :)


Spoiler

Renamer - Rename files and folders, remove portions of text from the filename etc.

GPO Tool - Export/Import Group policy settings.

MirrorDir - Synchronize/Backup/Mirror Folders

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

String Trigger - Triggers pasting text or applications or internet links on specific strings.

Inconspicuous - Hide files in plain sight, not fully encrypted.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

IUIAutomation - Topic with framework and examples

Au3Record.exe

Share this post


Link to post
Share on other sites

careca,

Congratulations on your forthcoming union!. My wedding day was nearly 35 years ago and we are still together - may your couple last as long (or indeed even longer). :)

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

 

Share this post


Link to post
Share on other sites

Thank you, that's quite some time, congratulations for that.

Best regards.


Spoiler

Renamer - Rename files and folders, remove portions of text from the filename etc.

GPO Tool - Export/Import Group policy settings.

MirrorDir - Synchronize/Backup/Mirror Folders

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

String Trigger - Triggers pasting text or applications or internet links on specific strings.

Inconspicuous - Hide files in plain sight, not fully encrypted.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

IUIAutomation - Topic with framework and examples

Au3Record.exe

Share this post


Link to post
Share on other sites

@Melba23, I thank you for these capabilities.  They've provided me with the basis for a special-purpose file selection dialog that I've always wanted to implement.

But two, somewhat-related issues are causing me problems.  Using your Example 3b as a test—and increasing the height to 600 or 700 pixels—a fair amount of jumping takes place as the tree is populated and shifted to a particular directory or file.  Likewise, when I specify a resizable dialog, there is flickering whenever the width is adjusted.

I've attempted a couple of methods to disable updates to the dialog window while actions are taking place, but neither worked.  One rather drastic measure was to place a static copy of the dialog window on top.  It sort of worked ... but I couldn't find the right point in the main process sequence to remove it.  Plus, it was just cumbersome.

So I ask: do you have any suggestions to implement a window "freeze" and "unfreeze"?

I will appreciate any help.

Share this post


Link to post
Share on other sites

qwert,

I tried lots of solutions to prevent the ugly expansion effect when I coded the new functionality. One of them was a "cover" to hide the treeview during the process, but this failed because the _GUICtrlTreeView_EnsureVisible function called during the expansion forced the treeview above all other elements - even, as I discovered to my surprise, other GUIs. :wacko:

So I decided to live with the flickering - sorry I cannot offer any suggestions to prevent it. :(>

M23

Edited by Melba23
Wrong button - too soon

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

 

Share this post


Link to post
Share on other sites

careca,

I apologise - I had completely forgotten to reply to your earlier request for multiple selections. Alas my research showed that you cannot make multiple selections in a TreeView. The only way I could find to mark several items was to use checkboxes - but that would still not allow the use of Shft to mark contiguous blocks. So I regret that I must tell you that I cannot help you with your request - 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

 

Share this post


Link to post
Share on other sites

No problem, thank you anyway.


Spoiler

Renamer - Rename files and folders, remove portions of text from the filename etc.

GPO Tool - Export/Import Group policy settings.

MirrorDir - Synchronize/Backup/Mirror Folders

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

String Trigger - Triggers pasting text or applications or internet links on specific strings.

Inconspicuous - Hide files in plain sight, not fully encrypted.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

IUIAutomation - Topic with framework and examples

Au3Record.exe

Share this post


Link to post
Share on other sites

Melba23, I've looked at a couple more alternatives and seem to have improved things a bit.

; Create dialog
    Local $hCFF_Win = GUICreate($sTitle, $iW, $iH, $iX, $iY, $iStyle, BitOR($WS_EX_TOPMOST, $WS_EX_COMPOSITED), $hParent)

.

$WS_EX_COMPOSITED completely eliminates flicker when making width adjustments to a resizable dialog.  This is in accordance with its defined purpose: "With WS_EX_COMPOSITED set, all descendants of a window get bottom-to-top painting order using double-buffering ... Double-buffering allows the window and its descendents to be painted without flicker." (from msdn)

Regarding the jumping during tree updates: I, too, was surprised by the behavior of the _EnsureVisible function, so I abandoned the overlay method.  Instead, I'm trying WinSetTrans($hCFF_Win, "", 0), which initially hides the dialog.

The problem is: I can't find the right point to insert the corresponding WinSetTrans($hCFF_Win, "", 255).   The obvious place (having it right in front of the While statement) turns it on too soon.  And due to the iterative way the tree is constructed, some of the places I've tried have affected the resulting tree content.

Can you suggest a point at which the dialog can be made visible? 

 

Share this post


Link to post
Share on other sites

qwert,

In short, no. That was the reason that I abandoned the "do not show it" method to prevent the flickering as I could not find a single suitable point to display the dialog again. And the expansion code was sufficiently complicated to create that I was not prepared to rewrite it to provide one. But I will take another look - although I suggest you do not hold your breath. ;)

And thanks for the WS_EX_COMPOSITED tip - I will look into it. :)

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

 

Share this post


Link to post
Share on other sites

Melba23,

 

I hope you’ll pardon my persistence with this ... but I think I’ve figured a way to keep the dialog from being visible while it’s being populated.  It took repeated tries—coupled with a bit of luck in the fact that I set transparency=120 so I could watch the process—before an additional factor revealed itself (see below).

 

The essential elements are:

$display = 0                ; upon initialization of any new function call
:
:
; Display dialog                ; just prior to loop
WinSetTrans($hCFF_Win, "", 1)   ; must be 1 ... not 0
GUISetState()
:
:
If $display = 0 Then            ; executes only once
  WinSetTrans($hCFF_Win, "", 255)
  $display = 1
EndIf
WEnd                    ; end of loop

.

The net effect (if it holds up) is that the first time the While loop makes it through without encountering an “action needed”, it removes the transparency=1 so that the dialog becomes visible.

 

The rather amazing (baffling?) part is that WinSetTrans($hCFF_Win, "", 0) doesnt’ work. Through some means, “0” is equated to "hidden" by the _EnsureVisible function ... which decides it needs to @SW_SHOW (or something like it).

 

I’ve tested it a dozen times and it appears to be reliable. So far, my tests are only on one PC running Win7.  At week's end, I'll test it on Win8.

 

I look forward to any comments or suggestions you might have. 

 

 

 

“The most certain way to succeed is always to try just one more time.”—Thomas A. Edison

 

“I wish I understood everything I know about some of the Windows functions.”—me

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

qwert,

Great minds think alike - I was looking at exactly the same sort of thing last night and also noted the necessity to set the Trans value to 1 and not 0. I was going to test it some more before posting but now you have already gone that way here is my version and a test script:

See new code below.

I am currently at sea with a very flaky connection. Let me know what you think and I will get back to you tomorrow when I am reunited with my (supposedly) 50GB broadband! :D

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

 

Share this post


Link to post
Share on other sites

Hi,

Back on dry land and with a decent connection. :party:

Here is an up-dated Beta version with a small splash screen which tells the user not to panic while waiting:

<snip>]

Any and all comments welcome. :)

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

 

Share this post


Link to post
Share on other sites

NEW VERSION 25 Aug 14

Changed: When using _CFF_Choose with a default folder the dialog is hidden until the tree expansion is completed (or abandoned). This prevents flickering as the tree is opened to the correct level.

Added: Again when using _CFF_Choose, adding 256 to the $iDisplay parameter shows small splash screens during any autoexpansion of the tree (see above) and when the UDF is searching if asked to show all available drives.

Thanks to qwert for the push to get these incorporated. :thumbsup:

Note you need AutoIt v3.3.10.0 or later to run this release of the UDF as it will not run with earlier versions. ;)

New zip in first post. :)

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

 

Share this post


Link to post
Share on other sites

hi

I have been looking into ChooseFileFolder.au3 and then found [the GUITreeViewEx] thread

id very much like to see a version of this treeview incorporate with ChooseFileFolder

with that listview box displaying paths that are checked, dynamically refreshing   :)

as with this gui in the examples.au3

_CFF_Choose("Ex 5: Select multiple files AND folders (resizeable)", -300, 500, -1, -1, "", Default, 3 + 4 + 8 , 20)
 

but where the return is collected differently from whats being displayed:

technically, only definitive full paths of child foldersfiles are to be returned but not in the case where all children are checked

i.e

as a rule: if some folder is checked then the return should include only the "that folders path" and not its parent folder path too 

or in case where all child foldersfiles are checked too (as in display)

 

that way the return will pass only clean definitive paths

 

BTW, I thought something like this should already exist .. :)

Ill keep on trying to pickup, but here is a wish for now   :sorcerer:

Edited by Melba23
Slightly amended first line text for clarity after moving from post from another thread

Share this post


Link to post
Share on other sites

Deye,

Sorry for the delay in replying - I have been slipping the surly bonds a lot these past few days. :)

I can see the interest in adding checkboxes to the ChooseFileFolder tree, but I do not fully understand your wishes concerning the return. Are you saying that you would only want the deepest levels of each branch to be returned, like this: :huh:

[Checked] Level A - 
                  |
                  [Checked] Level AA -                              ; Return this
                                      | [Not checked] Level AAA
                  [Checked[ Level AB -
                                      | [Checked] Level ABA         ; Return this
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

 

Share this post


Link to post
Share on other sites

Deye,

I have added a "checkbox" option to ChooseFileFolder - please test it and let me know what you think:

<snip>]

Do read the function header carefully. ;)

Comments from anyone else welcome also, of course. :)

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

 

Share this post


Link to post
Share on other sites

M23  

great job!

all I noticed is that when expanding a root while is checked then all children are also checked

doing it the other way, collapsing and unchecking doesn't clear what was checked under that root when was expanded

don't get me wrong I know this is a real nice first implementation :)

 

wanted to state another idea for later on perhaps, a function that "sets_checked" (include) like _RecFileListToArray does for excluding 

_sets-checked ($UserProfileDir,"documents\;pictures\;music\;Videos\;Desktop\;Favorites\;Links\"|$AllDrives,"*projects*\;work*\;project*.???;*.xlsx;*.docx;")
 

I'm not yet fully aware of how easy or complicated it is for you to implement but I can surely see how this will soon be a great AllInOne searchingdisplaying files and folders UDF :)

 

[Checked] Level A - 
                  |
                  [Checked] Level AA -                              ; Return this
                                      | [Not checked] Level AAA
                  [Checked[ Level AB -
                                      | [Checked] Level ABA         ; Return this

as for the return yes, same as your example..

 

I think it should include only the deepest level for checked items with perhaps a switch that gives another option

that checks if all children are checked under some root then the return gives just the parent.

 

 

Thanks again!

Edited by Deye

Share this post


Link to post
Share on other sites

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...