exmiller - what's new
18.0.0.4 Feb 12, 2024
*Added: DefaultItemHeight property retrieves or sets a value that indicates the default item height.
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
*Fixed: Can't type SPACE within the edit field of the drop down column's filter (Column.DisplayFilterPattern property)

18.0.0.3 Nov 06, 2023
*Added: The Background(exScrollHoverAll/500) property specifies whether the hover-all feature is by default (0), always on (-1) or disabled(1). By default (Background(exScrollHoverAll) = 0), the left/top, right/bottom and thumb parts of the control' scrollbars are displayed in hover state while the cursor hovers any part of the scroll bar (hover-all feature). The hover-all feature is available on Windows 11 or greater, if only left/top, right/bottom, thumb, lower and upper-background parts of the scrollbar are visible, no custom visual-appearance is applied to any visible part. The hover-all feature is always on If Background(exScrollHoverAll) = -1. The Background(exScrollHoverAll) = 1 disables the hover-all feature.
*Added: Show the Left/Top or Right/Bottom buttons of the control's scrollbar on Windows 11 or greater, while the cursor hovers the scrollbar's background.
*Fixed: The scroll button's appearance is restored to normal instead of hover state when the mouse button is released

18.0.0.2 Aug 21, 2023
*Added: New visual appearance for all internal icons to support high DPI resolution (100%, 125%, 150%, 175%, 200% and 300%)
*Fixed: The internal icons are stretched and look distorted when DPI scaling is not 100%
*Added: The Background(exTreeLinesColor) method defines the color to show the tree-lines (connecting lines from the parent to the children)

18.0.0.1 May 08, 2023
*NEW: Ability to specify the size to show the icons/images/check-boxes/radio-buttons within the control
*Added: ImageSize property specifies the size of control' icons/check-boxes/radio-buttons. By default, the ImageSize property is 16. The control's Images collection is cleared if the ImageSize property is changed, so it is recommended to set the ImageSize property before calling the Images method. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. For instance, if the ICO file to load includes different types the one closest with the size specified by ImageSize property is loaded by Images method

17.0.0.3 Mar 06, 2023
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)

17.0.0.2 Oct 10, 2022
*Fixed: The FilterBarBackColor property does not support EBN objects (The last 7 bits in the high significant byte of the color to indicates the identifier of the skin being used. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part)
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
*Fixed: The Background(exToolTipForeColor) property does not apply to the tooltip's title

17.0.0.1 Jun 08, 2022
*NEW: Z-Events support (Standard .NET event patterns)
*Added: Every event of the control (/NET assembly) provides a Z-Event alternative, of "void OnEventRaised(object sender, EventArgs args)" type. The .NET convention is for an event (Z-event) signature to have a void return and 2 parameters. The first parameter is of type System.Object and is the sender of the event. The second parameter must be of type System.EventArgs or derived from System.EventArgs and contains data passed between sender and receiver. For instance, the "DblClick(object sender, short Shift, int X, int Y)" event is equivalent to "ZDblClick(object sender, ZDblClickArgs e)", where "ZDblClickArgs" type is derived from System.EventArgs and includes definitions for Shift, X and Y properties
*Fixed: "Warning: The <event-name> event is a .NET event that does not follow the .NET convention for event signatures (OpenEdge, ABL code)". To prevent this warning, under OpenEdge environment you must use the Z-event alternatives 

16.0.0.7 Jan 03, 2022
*NEW:   Show the column's drop down filter bar button differently, while the column has a filter applied
*Added: The Background(exHeaderFilterBarActive) property specifies the visual appearance of the drop down filter bar button, while filter is applied to the column
*Fixed: Expand/collapse glyphs are DPI aware

16.0.0.6 Dec 06, 2021
*Added: PowerBuilder 21.0 sample
*Added: The Created, Modified and Last Opened date-time of the file or folder (thumbnail) are shown as local time rather than UTC (Coordinated Universal Time)
*Fixed: On some machines, the size of the file shows more than 2 decimals for French(Canada) regional settings

16.0.0.5 Nov 15, 2021
*Added: The expression properties supports `bias` constant that defines the difference, in minutes, between Coordinated Universal Time (UTC) and local time. For example, Middle European Time (MET, GMT+01:00) has a time zone bias of "-60" because it is one hour ahead of UTC. Pacific Standard Time (PST, GMT-08:00) has a time zone bias of "+480" because it is eight hours behind UTC. For instance, date(value - bias/24/60) converts the UTC time to local time, or date(date('now') + bias/24/60) converts the current local time to UTC time
*Fixed: Sometimes, the Modified column displays the file/folder date-time with one hour difference (ignore daylight saving time)
*Fixed: The BackColor/ForeColor properties of the /NET version are not copied in design mode, when the user copies the control in design-mode using CTRL + C (copy) and CTRL + V (paste) combination

16.0.0.4 Sep 29, 2021
*Added: Sets or gets the control's Font property in design mode, for the /NET version
*Fixed: The BackColor/ForeColor properties of the /NET version are not serialized once the user changes in design mode (the control's background/foreground is set to the default value once the form is started)
*Fixed: Improves the conversion of the string to date, while using Regional settings (Windows System) for date like ddd.dd.mm.yyyy (Su.15.02.2021)

16.0.0.3 Jun 30, 2021
*Added: ExMiller.pdf (include the control's documentation in PDF format)
*Added: The Images method supports the Microsoft ImageList ( mscomctl.ocx, MSComctlLib.ImageList type) object directly. Shortly, you can define the control's images by calling Images(ImageList1.Object). The ImageList1.Object returns the object of MSComctlLib.ImageList type. The Microsoft ImageList object is available for /COM on x86 and x64 machines (starting from Access 2016)
*Fixed: The "Do you want to save changes to the design of form ''? Yes, No, Cancel" message occurs in MS Access, every time the form is closed in design mode

16.0.0.2 Apr 19, 2021
*Added: Get(CheckItems) property returns the files being checked, as a safe array of VARIANT (string)
*Added: Get(SelItems) property returns the files being selected, as a safe array of VARIANT (string)
*Added: Get(AllItems) property returns all files, as a safe array of VARIANT (string)
*Added: Get(VisibleItems) property returns all visible files, as a safe array of VARIANT (string)

16.0.0.1 Feb 24, 2021
*NEW:   Check and Partial-Check support
*Added: HasCheckBox property specifies whether the control displays a check box for each item.
*Added: ViewStartChanging(exCheckStateChange) and ViewEndChanging(exCheckStateChange) events notify once the user changes the file's check box
*Added: CheckBox sample

15.0.0.2 Jul 01, 2020
*NEW:   Overlay-Icons support
*Fixed: Display shortcut folders as folders, instead of files (ability to expand shortcut folders)
*Fixed: The vertical-scroll bar is not shown/hidden once the column gets resized (Def(exCellSingleLine) property)

15.0.0.1 May 18, 2020
*Added: Improves the speed to scroll/display the control on 4K applications.
*Added: The Description(exFilterBarExclude) allows ex-html format (ability to replace the "Exclude" field with your custom ex-html string)
*Fixed: FormatAnchor(False) = vbNullString fails (vbNullString is a special VB constant that denotes a null string. The "" literal is an empty string)

14.0.0.1 Mar 23, 2020
*Added: The option "Roll the mouse wheel to scroll" of Window's mouse & touchpad settings specifies the number of items to vertically scroll. Previously, scrolling vertical with the mouse wheel takes 3 items at a time

13.0.0.1 Feb 03, 2020
*Fixed: Any expression that includes the "in" operator fails.
*Fixed: The scroll bar's thumb minimum-size is equivalent with the size of the size of scroll's buttons. In other words, the size of the scroll's buttons specify the thumb minimum-size. Previously, the thumb's minimum-size was 6-pixels.

12.0.0.3 Aug 28, 2019
*Added: Ability to scroll the control's content using two-fingers on a touchpad (swipe up or down with two fingers, scrolls the control's up or down)
*Fixed: Prevents showing the "This application is about to initialize ActiveX controls that might be unsafe. If you trust the source of this file, select OK and the controls will be initialized using your current workspace settings." warning message while the control is running into MS Office forms or user-forms.

12.0.0.2 May 22, 2019
*Added: lpad keyword (available for properties that support expressions) , as a lpad b, pads the value of a to the left with b padding pattern.
*Added: rpad keyword (available for properties that support expressions), as a rpad b, pads the value of a to the right with b padding pattern. For instance, 12 lpad "____" generates the string "12__".
*Added: concat keyword (available for properties that support expressions), as a concat b concatenates the a (as string) for b times. For instance, "x" concat 5, generates the string "xxxxx"
*Fixed: The control shows the dragging column in black, even the control's header shows the columns in white (ForeColorHeader property)

12.0.0.1 Feb 27, 2019
*Fixed: Can't move the column to be the last-visible column, while all columns are visible (ColumnAutoResize property on False)
*Fixed: Move slightly the last partially visible column, changes its position.
*Fixed: Dropping the column after the last visible column, ends up one-column to the right after the dropped position.
*Fixed: Sometimes, the user can't scroll to the last item, if the last scrollable item is partially visible.

11.0.0.1 Aug 13, 2018
*NEW:   Ability to executes x-script code ( including events ), from a string, file or a safe array of bytes. This feature allows you to load the control's visual appearance and behavior, without having to write any line of code. The x-script code can save EBNs, icons, pictures into BASE64 encoded strings, and so everything can be put into a single file, that should be invoked by AttachTemplate method. This feature allows you to run any x-script code for any configuration of the component (/COM, /NET or /WPF). 
*Added: AttachTemplate method executes the giving x-script code, and attach events if found. The x-script code can contain handle keyword that defines a handler for the specified event. For instance, the AttachTemplate("handle Click() { print(Version) }") sends the control's Version property to the debugger for display. All you need is to open the DebugView tool, and click the control.
*Added: The control's Template page supports AttachTemplate so you can assign x-script code ( including events )  in design mode, and so the control's visual appearance and behavior is changed once the control is created at runtime (/COM version only). 
*Added: Expands or collapses the entire selection if the user clicks any +/- glitch, presses Left/Right/+ or- key inside the selection, while the CTRL is pressed. This option is valid, while the control's SingleSel property is False.

10.0.0.2 Apr 05, 2018
*Added: Shows the drop down filter and tooltip panels to the nearest monitor relative to the cursor position.
*Added: Clicking the cascade column's split bar while SHIFT + CTRL key combination is pressed, divides the client area in equal parts/views ( refine the FitCascadeColumns property )
*Added: The Background(exColumnsPositionSign) specifies the visual appearance for the position sign between columns, when the user changes the position of the column by drag and drop. By default, the Background(exColumnsPositionSign) property is 0, which indicates that the default position sign is shown when the user change the column's position by drag and drop.
*Fixed: Sometimes, can't select by drag items if the ColumnAutoResize property is False

10.0.0.1 Jan 04, 2018
* Initial Release