Welcome to EONTROL
Exontrol is devoted to create innovative user interface components for Windows applications, on /COM, /NET or /WPF platforms, since 1999. "eXontrol" comes from e(s)pecial (c)ontrol, where sc makes the X. Software development never stops. Neither do we. Our components are and will continue to be cutting edge development tools that adapt to the needs of our customers and to the changing software development environment. On this site you find components/tools/products/samples that are used in programming languages such as JavaScript, VB, VB.NET, VBA, C++, C#, X++, VFP, Access, Excel, Word, HTML, Delphi, Smalltalk, uniPaas (eDeveloper), Clarion, Dynamics AX, Dynamics NAV, xBasic, Visual Objects, Visual Dataflex, PowerBuilder, LabVIEW, Xbase++, AutoIt, Power++, FORTH, OpenEdge and so on...

The following movie shows how you can define hot-colors for ExTab component

The video shows how you can define the skin-object to highlight once the cursor hovers a page of the tab control. A tab control is analogous to the dividers in a notebook or the labels in a file cabinet. By using a tab control, an application can define multiple pages for the same area of a form or dialog box. Each page consists of a certain type of information or a group of controls that the application displays when the user selects the corresponding tab. The feature is available for /COM and /NET versions.

The following movie shows the first-look of the newly ExICalendar/JS control

The eXICalendar/JS library implements the ICalendar data format, according with Internet Calendaring and Scheduling Core Object Specification, RFC 5545, especially the RRULE property, which defines a rule or repeating pattern for recurring events, to-dos, journal entries, or time zone definitions. The recurrence rule, is used in computing the recurrence set. The recurrence set is the complete set of recurrence instances for a calendar component. The recurrence set is generated by considering the initial "DTSTART" property. The eXICalendar/JS is a HTML standalone-component, written in JavaScript, that uses no third-party libraries. You can check the new control here.

The following movie shows the first-look of the newly ExSchedule/JS control

The ExSchedule/JS library is our approach to provide scheduling of appointments into your web application. The ExSchedule/JS is a visual HTML5 component that shows a timeline view for multiple activities (event calendar). The time is displayed on the vertical (Y) axis and the activities are automatically arranged over a single or multiple dates. The ExSchedule/JS is a HTML standalone-component, written in JavaScript, that uses no third-party libraries. You can check the new control here.

The following movie shows the combobox's multiple-selection feature

The following movie shows the combobox's multiple-selection feature, which helps the user to select none, one or multiple-values from a drop-down multiple columns list or tree. The user can select multiple-items using CTRL or/and SHIFT key while clicking an item. The number of selected-items can be displayed in the control's label using different font attributes. The multiple-selection feature will be available for eXComboBox components (/COM, /NET or /WPF version).

The following movie shows how you can insert, code and use the exg2antt and exschedule control, within the PowerBuider IDE

The following movie shows how you can insert, code and use the exg2antt and exschedule control, within the PowerBuider IDE. The idea is the same for any other /com exontrols. If you run PowerBuilder IDE on a Windows 64 machine, you need to install the x64 version of the control, else the x86 (32-bit) version of the component. If you need more help on how you can start using any exontrols on your PowerBuilder application, please make sure you have checked the Get Started page.

changes and additions for 2022, so far

09-29-2022

The following movie shows how you can define hot-colors for ExTab component:

The video shows how you can define the skin-object to highlight once the cursor hovers a page of the tab control. A tab control is analogous to the dividers in a notebook or the labels in a file cabinet. By using a tab control, an application can define multiple pages for the same area of a form or dialog box. Each page consists of a certain type of information or a group of controls that the application displays when the user selects the corresponding tab. The feature is available for /COM and /NET versions.
09-28-2022 ExGantt, 18.2.0.5
*Added: Prevents showing the thumb of the vertical scroll bar, if the ScrollBySingleLine property is True, and the control displays a single item (higher than the control's height)
*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.
ExGauge, 22.0.0.3
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
09-26-2022 ExGrid, 17.2.0.4
*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. For instance, FormatColumn = "((1 apos ``) lpad `0000`) + `. ` + value" displays the cell's content including the position of the row, padded to left with 4-zero (if required)
*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: A GPF (Stack overflow) occurs if using ADO DataSource for provider of vfpoledb.
ExHTML, 19.0.0.2
*Added: PowerBuilder 21.0 sample
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
09-22-2022 ExComboBox, 17.0.0.4
*Fixed: Shows the top-horizontal grid-line for the first bottom-locked item, if the control's DrawGridLines property is exRowLines
*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.
*Fixed: The Items.CellHasButton property returns 1, instead of -1 (equivalent of True, /COM version)
ExFolderView, 16.0.0.2
*Added: PowerBuilder 21.0 sample
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
09-19-2022 ExCascadeTree, 14.0.0.3
*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: The Column.Def(exHeaderPaddingRight) property causes the pointer-cursor not to be shown while cursor hovers the column's drop-down filter button (Column.DisplayFilterButton property)
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
ExPlorerBar, 18.0.0.2
*Added: PowerBuilder 21.0 sample
*Added: Sets or gets the control's Font property in design mode, for the /NET version
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
09-16-2022 ExSuite/JS, 10.6
*NEW: Column-Images support or ability to display images within the Pivot control (available for exontrol.tree, exontrol.gantt and exontrol.pivot components)
*Added: Column.FormatImage {string }, defines the expression to determine the images the column display. The exontrol.HTMLPicture.Add method adds new images to the control. For instance, "'logo'" specifies the the image with the identifier 'logo' is being shown for all cells within the column, "value case (default: 'unknown'; 'Austria': 'Austria')" shows 'Austria' image for cells with the value 'Austria', else displays 'unknown' picture (exontrol.tree)
*Added: ItemBar.HistLegend/GetHistLegend()/SetHistLegend(value) {string}, specifies the description to show within the histogram's legend for the bar in the control's histogram. The histLegend option has effect only if the Bar.HistogramCumulativeOriginalColorBars is exKeepOriginalColor. The histLegend option supports built-in HTML format including the <%=formula%> tag, where formula is an expression that supports predefined operators, functions and % operators such as %0, %1, %2, ... specifies the value/option of the item-bar as name, start, end and so on (ItemBarPropertyEnum type); %C0, %C1, %C2, ... specifies the caption of the cell, or the string the cell displays in the column with the index 0, 1 2, ...; %CD0, %CD1, %CD2, ... specifies the item-bar's user-date in the column with the index 0, 1 2, ...; %CS0, %CS1, %CS2, ... specifies the item-bar's state in the column with the index 0, 1 2, ...For instance, "<fgcolor gray><%=lower(%3)%>" {string}, the histogram-legend displays the bar's caption in gray and lowercase (exontrol.gantt)
*Added: Bar(name) {Bar}, gets the bar giving its index, name or reference. The Bar(name) method is equivalent with Chart.Bars.Item(name) method (exontrol.gantt)
*Added: exontrol.Gantt.GV.Zoom(start, end, changeUnitWidth) method zooms the view so the start-end interval fits the client's area (exontrol.gantt)
*Added: The chart gets resized relative to the closest selected-date that fits that view's client area, rather than the first selected date (Chart.SelectDates, AllowActions include "chart-zoom" or "chart-resize"). Shortly you can zoom the chart two ways. One is if no visible-selected dates which makes the chart to zoom at the cursor position, while if a selected-date fits the chart, it stays fixed (same position) while the rest of the chart gets magnified. (exontrol.gantt)
*Added: The width of the left-panel is changed according with the control's zoom-factor (zoom, chart.paneWidthLeft options) (exontrol.gantt)
*Added: The Select(key) method selects the item using shortcut keys, such as "Home", "PageUp", "ArrowUp", "ArrowDown", "PageDown" or "End" (exontrol.tree)
*Fixed: Sometimes, the chart shows empty portion if clicking the unit-scales of overview-zoom section (overviewVisible, allowOverviewZoom options), while scrollRange option is used (exontrol.gantt)
*Fixed: The browser may freeze if resizing the chart using the middle-mouse while there is one selected date (the resizing is relative to the selected date) (exontrol.gantt)
*Fixed: The control's filter-bar is not showing over the chart portion of the control (exontrol.gantt)
*Fixed: Sounds like the Chart.Zoom() method is not working during the "onload" event (exontrol.gantt)
*Fixed: Prevents showing the filter-bar over the control's vertical scroll-bar (exontrol.tree)
*Fixed: The control's Scroll("Up") or Scroll("Down") method scrolls up or down by defaultItemHeight pixels, rather than wheelCount option (exontrol.tree)
*Fixed: The picture holder is still shown (for missing or unloaded images) even if the exontrol.HTMLPicture.DrawPH method is overridden (exontrol.common)
09-14-2022 ExEdit, 19.0.0.2
*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: 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
ExRollist, 13.0.0.2
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
09-12-2022 ExCalc, 15.0.0.2
*Added: PowerBuilder 21.0 sample
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
ExRollist, 13.0.0.2
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
09-07-2022 ExButton, 21.0.0.2
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
ExToolBar, 17.0.0.3
*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 
09-05-2022 ExG2antt, 22.0.0.2
*NEW: Ability to show or hide the non-working units (days and/or hours)
*Added: The Chart.ShowNonworkingHours property specifies whether the non-working hours are visible or hidden, if the Chart.ShowNonworkingUnits property is False. For instance, if the Chart.ShowNonworkingUnits property is False and Chart.ShowNonworkingHours property is True, the non-working hours are shown using the Chart.NonworkingHoursPattern and Chart.NonworkingHoursColor properties. If the Chart.ShowNonworkingUnits property is False and Chart.ShowNonworkingHours property is False, the non-working hours are hidden. Shortly, the Chart.ShowNonworkingUnits property specifies whether the non-working days(Chart.ShowNonworkingDates)/hours(Chart.ShowNonworkingHours) are visible or hidden. In conclusion, If the Chart.ShowNonworkingUnits property is True, the Chart.ShowNonworkingDates or/and Chart.ShowNonworkingHours properties display or hide the non-working pattern while if Chart.ShowNonworkingUnits property is False, the Chart.ShowNonworkingDates or/and Chart.ShowNonworkingHours properties show or hide the non-working units. The Chart.ShowNonworkingUnits property has no effect if Chart.ShowNonworkingDates and Chart.ShowNonworkingHours properties are True. 
*Fixed: the Chart.ShowNonworkingHours property has no effect if Chart.ShowNonworkingUnits property is False.
*Fixed: The Chart.HistogramView(exHistogramCheckedItems + flags) shows nothing, if flags does not include exHistogramUnlockedItems.
ExLabel, 19.0.0.2
*Added: PowerBuilder 21.0 sample
*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
09-01-2022 ExSuite/JS, 10.5
*NEW: Events-support, ability to programmatically highlight dates within the calendar control (exontrol.calendar)
*Added: "onclick" event occurs once the user clicks or double-clicks a date (exontrol.calendar)
*Added: Events/GetEvents()/SetEvents(oEventsDef) {Events}, defines the control's events (exontrol.calendar)
*Added: Event(id) {Event}, returns the event based on its index or identifier/key (exontrol.calendar)
*Added: Events.Add(oEventOpts) {Event}, creates and adds a new event into the control (exontrol.calendar)
*Added: Events.Count/GetCount() {number}, returns the number of events within the collection (exontrol.calendar)
*Added: Events.Event(id) {Event}, gets the event giving its index, identifier/key or reference (exontrol.calendar)
*Added: Events.Remove(id), removes the event giving its index, identifier/key or reference (exontrol.calendar)
*Added: Events.Clear(), removes all events of the control (exontrol.calendar)
*Added: Event.Options/GetOptions()/SetOptions(value) {exontrol.Calendar.EventOptions}, indicates the event's options (at once) such as visibility, position and so on (exontrol.calendar)
*Added: Event.Index/GetIndex() {number}, returns the index of the event (0-based) (exontrol.calendar)
*Added: Event.Date/GetDate()/SetDate(value) {any}, indicates the date of the event (exontrol.calendar)
*Added: Event.Key/GetKey()/SetKey(value) {any}, specifies the event's key (the Events.Event(key) requests an event by its index, identifier/key or reference) (exontrol.calendar)
*Added: Event.Selectable/GetSelectable()/SetSelectable(value) {boolean}, specifies whether the user can select the date (exontrol.calendar)
*Added: Event.Shape/GetShape()/SetShape(value) {any}, the shape for the event (exontrol.calendar)
*Added: Event.Cursor/GetCursor()/SetCursor(value) {string}, the mouse cursor for the event (exontrol.calendar)
*Added: Event.Repetitive/GetRepetitive()/SetRepetitive(value) {string}, returns or sets the expression to define the repetitive-event (exontrol.calendar)
*Added: Event.ToolTip/GetToolTip()/SetToolTip(value) {string}, defines the event's predefined tooltip (exontrol.calendar)
*Added: Event.UserData/GetUserData()/SetUserData(value) {any}, associates any extra-data with the event (exontrol.calendar)
*Added: Event.Remove(), removes the event from events collection ( equivalent of Events.Remove(id) method ) (exontrol.calendar)
*Added: The Event.Repetitive property supports RRULE expressions (requires exontrol.icalendar.js), according with Internet Calendaring and Scheduling Core Object Specification, RFC 5545, if contains the FREQ keyword. The FREQ property determines whether the Repetitive property uses the Value or ICalendar format. In other words, if the Repetitive property contains the FREQ keyword, the ICalendar format is using, else the Value format. For instance, "FREQ=WEEKLY;BYDAY=MO", the event occurs every Monday, and uses ICalendar format to determine the recurrences, while "weekday(value) = 1", the event occurs every Monday uses the Value format. (exontrol.schedule)
*Fixed: The "Hover:" message occurs during drag and drop (exontrol.calendar)
*Fixed: The "key" option of the individual event is ignored if events are loaded using the "events" option. For instance, the key is ignored in the following sequence new exontrol.Schedule('cvsSchedule', {events: {"Event <b>A": { key: "A", start: "#1/1/2022 10:00#", end: "#1/1/2022 11:00#"}}}); (exontrol.schedule)
08-31-2022 ExFileView, 16.0.0.5
*Added: The BrowseFolderPath can use \ or / characters to separate the relative folders
*Fixed: The BrowseFolderPath property is slower when using on network folders (the more relative folders contain the slower it is). 
*Fixed: Changing the BrowseFolderPath property fails if it ends on \ character
*Fixed: The BrowseFolderPath property fails if using absolute-path for network folders
ExMaskEdit, 14.0.0.2
*Added: PowerBuilder 21.0 sample
*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
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
08-29-2022 ExCalendar, 20.0.0.3
*Fixed: The Background (exToolTipForeColor) property does not apply to the tooltip's title
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
*Fixed: The FirstVisibleDate/LastVisibleDate property returns the previously dates during the DateChanged event (require call of DoEvents)
ExRibbon, 18.0.0.2
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
*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
08-17-2022 EXMLGrid, 17.0.0.2
*Added: PowerBuilder 21.0 sample
*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
ExContextMenu, 16.0.0.1
*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
08-16-2022 ExSchedule, 21.0.0.2
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
*Fixed: Prevents changing the time for all-day events, when user moves / resizes the event by drag and drop within the current time-scale
*Fixed: The Background (exToolTipForeColor) property does not apply to the tooltip's title
ExSurface, 19.0.0.1
*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
08-04-2022 ExG2Host, 18.0.0.1
*NEW: Data Binding support for /WPF assembly
*Added: DataSource property gets or sets the data source that the control is displaying data for. The DataContext/DataSource support of the control allows you to use the data-binding feature of the /WPF environment for our /WPF ex-controls. The DataSource property specifies the sub-set of DataContext the control should get data from. The DataSource property can be: DataTable, DataView, DataSet, DataViewManager, any component that implements the IListSource interface, or any component that implements the IList interface. The DataContext is the source of all entities mapped over a database connection. Once the DataSource property is set, the control automatically gets data based on the DataContext property.
*Added: DataTaskBegin property gets or sets the specific field in the data source to indicate the starting point of each added task. If missing or empty, no tasks are loaded during binding.
*Added: DataTaskEnd property gets or sets the specific field in the data source to indicate the ending point of each added task. If missing or empty, no tasks are loaded during binding. If the DataTaskEnd points to a DateTime object, it indicates the ending date of the newly bar, else, it indicates the duration of the task to be added. If the DataTaskEnd is equal with DataTaskBegin, a one-day task is added for each record found, during binding.
*Fixed: The Note ignores the Chart's MonthNames/WeekDays property to display the note's caption.
ExSplitBar, 17.0.0.1
*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
08-01-2022 ExG2antt, 22.0.0.1
*NEW: Radical improvements for chart's histogram
*Added: The chart's histogram does not depend any more on Chart.ResizeUnitScale and/or Chart.ResizeUnitCount property (performance is improved too)
*Added: The Chart.HistogramUnitScale and Chart.HistogramUnitCount properties specify the time-scale unit/count to determine the effort of bars with variable-effort (effort of expression/string type). The Chart.HistogramUnitScale and Chart.HistogramUnitCount properties have effect only for bars with Items.ItemBar(exBarEffort) as string to define a variable-effort using an expression that supports, value, start and end keywords. If Chart.HistogramUnitScale and Chart.HistogramUnitCount properties have not been set, the Chart.ResizeUnitScale and/or Chart.ResizeUnitCount property is used instead. For instance, the exBarEffort on "weekday(value) in (0,6) ? 0 : 2", means that that effort to do the job is 2 for any day in the task, excepts the Sundays(0) and Saturdays(6) (weekend). By default, the Chart.HistogramUnitScale / Chart.HistogramUnitCount property is equivalent with the Chart.ResizeUnitScale / Chart.ResizeUnitCount property
*Added: The color to show the grid and ruler lines on top of the histogram's critical-value is defined by Bar.HistogramCriticalColor property
ExICalendar, 14.0.0.1
*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
07-27-2022 ExTreeCube, 17.0.0.1
*Added: The Background(exTreeLinesColor) method defines the color to show the tree-lines (connecting lines from the parent to the children)
*Fixed: The Background (exToolTipForeColor) property does not apply to the tooltip's title
*Fixed: The Visual Studio 2022 (64-bit IDE) crashes if you try to place the /NET assembly in the form (design mode)
ExThumbnail, 18.0.0.1
*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
07-26-2022 ExG2antt, 21.0.0.5
*Added: The default value for Column.GroupByFormatCell property is "'<caption>'" instead of "value"
*Fixed: No matter what column I get grouped by, no caption is displayed just a number.
*Fixed: The vertical solid grid-lines show interrupted (Level.GridLineStyle is exGridLinesSolid, Level.DrawGridLines is True)
ExTab, 17.0.0.1
*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
07-13-2022 ExToolBar, 17.0.0.2
*Added: PowerBuilder 21.0 sample
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
ExStatusBar, 15.0.0.1
*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
07-11-2022 ExPrint, 20.0.0.2
*Added: PowerBuilder 21.0 sample
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
ExSlider, 20.0.0.1
*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
07-06-2022 ExGrid, 17.2.0.3
*Fixed: Prevents showing the column being dropped to the Columns floating-bar with a different background color ( ColumnsFloatBarVisible, Background(exCursorHoverColumn) )
*Fixed: "Not a valid bookmark.", "Record is deleted." error may be fired, when the control's DataSource property points to an ADODB.Recrodset, whose Requery method has been invoked. When the control is notified that a Requery, Filter has been performed on the control's DataSource, all items are cleared, and new one are inserted by re-iterating the recordset source.
*Fixed: Prevents toggling the cell's check-box, while it has no focus. ( FullRowSelect is exItemSel, ShowFocusRect is True or MarkSearchColumn is True )
*Fixed: The FindItem(vbNullString) method ( Editor object ) fails.
ExSkinBox, 16.0.0.1
*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
07-04-2022 ExG2antt, 21.0.0.4
*Added: Displays bars as many as possible within the cycle, when the Items.SchedulePDM method fails (Items.DefSchedulePDM(exPDMCallHasCycle) property is true)
*Added: The drop down values of an Editor object can be enumerated using the for each syntax. For instance, "Dim i As Variant: For Each i In .Editor: Debug.Print i, .Editor.FindItem(i): Next" enumerates the values and captions within the column's Editor object (Editor property)
*Fixed: No error or cycle-bars are highlighted even the Items.SchedulePDM method returns negative values (errors), when user drags any bar that's not connected with the group of error or cycle-bars (Items.DefSchedulePDM(exPDMErrorColor) or Items.DefSchedulePDM(exPDMCycleColor) property)
*Fixed: The cell's check-box shows as un-checked when the column's editor is CheckValueType
ExScrollBar, 20.0.0.1
*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
06-27-2022 ExSwimLane, 19.0.0.2
*Added: PositionToPoint(x,y) method converts the surface position to screen coordinates
*Added: PointToPosition(x,y) method converts the screen coordinates to surface position
*Fixed: The lines of the link between objects/elements are not shown contiguously if the link's width is greater than 4
ExRibbon, 18.0.0.1
*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
06-22-2022 ExPlorerTree, 20.0.0.2
*Added: PowerBuilder 21.0 sample
*Added: GridLinesStyleEnum.exGridlinesGeometric flag. The control's gridlines are drawn using a geometric pen. A geometric pen can have any width and can have any of the attributes of a brush, such as dithers and patterns (a cosmetic pen can only be a single pixel wide and must be a solid color, but cosmetic pen are generally faster than geometric pens.
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
ExRecord, 15.0.0.1
*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
06-20-2022 ExPlorerBar, 18.0.0.1
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*Fixed: The Background (exToolTipForeColor) property does not apply to the tooltip's title
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
ExRadialMenu, 16.0.0.1
*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
06-15-2022 ExPivot, 16.0.0.6
*Added: Serializes the visibility and position of the columns float bar using the Layout property. The "ColumnsFloatBar" and "ColumnsFloatBarRect" fields of Layout content save/load the visibility/position of the columns float bar. In other words, the Layout property serializes the columns float bar (visibility and position)
*Fixed: The HeaderSingleLine property is ignored if the control's header displays multiple levels of columns (Column.LevelKey property)
*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
Expression, 18.0.0.1
*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
06-13-2022 ExSuite/JS, 10.4
*NEW: The eXICalendar/JS library implements the ICalendar data format, according with Internet Calendaring and Scheduling Core Object Specification, RFC 5545, especially the RRULE property, which defines a rule or repeating pattern for recurring events, to-dos, journal entries, or time zone definitions. The recurrence rule, is used in computing the recurrence set. The recurrence set is the complete set of recurrence instances for a calendar component. The recurrence set is generated by considering the initial "DTSTART" property. The eXICalendar/JS is a HTML standalone-component, written in JavaScript, that uses no third-party libraries.
*NEW: Support for hierarchy-lines (the links between children and their parents) (exontrol.tree)
*Added: exontrol.Calendar.decode(htObject) {object}, decodes decodes the hit-test codes into an object of {type,date} type. The type field determines the type of the part, where date is the date associated with the part of the control.
*Added: exontrol.Calendar.getDay(htObject) {object}, decodes the hit-test code for days only, into an object of {type, date} type. The result is defined if htObject points to a day-part of the calendar (day within the day-view), else undefined.
*Added: HasLines/GetHasLines()/SetHasLines(value) {object} propery (hasLines option) defines the color, width and style of the control's hierarchy-lines, as an object of {width, color, style} type (exontrol.tree)
*Added: HasButtons/GetHasButtons()/SetHasButtons(value) {boolean} propery (hasButtons option) indicates whether the control shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item) (exontrol.tree)
*Added: LinesAtRoot/GetLinesAtRoot()/SetLinesAtRoot(value) {exontrol.Tree.LinesAtRootEnum} propery (linesAtRoot option) indicates whether the control links the root items (exontrol.tree)
*Fixed: Cannot create property 'fgColor' on string '<fg white>' (exontrol.common)
*Fixed: Date.prototype.GetWeekNumber method renamed to Date.prototype.GetWeekNo
*Fixed: No indentation is applied if expandGlyphSize property is 0 (exontrol.tree)
*Fixed: Prevents expand/collapse indentation (left blank area) for the column with index 0 (treeColumnIndex property) (exontrol.tree)
*Fixed: Exception has occurred: TypeError: Cannot set properties of null (setting 'ao') (exontrol.tree)
*Fixed: When the linesAtRoot option is not set to zero, the item(s) being dragged appear at the incorrect level position (exontrol.tree)
ExOrgChart, 19.0.0.2
*Added: PowerBuilder 21.0 sample
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
ExPropertiesList, 22.0.0.1
*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
06-08-2022 ExTree, 18.0.0.5
*Added: The Background(exForeColorFilter) and Background(exBackColorFilter) applies the foreground / background colors to the drop down filter edit field ( pattern, date, filter on type, and so on )
*Added: The CellStateChanging( Item, ColIndex, by ref NewState ) event notifies your application when the cell's check box is about to be changed. For instance, you can disable changing the cell's state by setting the NewState parameter to Items.CellState( Item, ColIndex )
*Fixed: Closes the control's drag and drop image when user drops data to any other control. For instance, a MessageBox during the target's OLEDragDrop event will keep showing the control's drag and drop picture ( Background(exDragDropAfter) property, /COM version )
*Fixed: Sometimes the user can't drop data to a target control ( OLEDragDrop event is not fired, or fired for the source control, /COM version )
ExMiller, 17.0.0.1
*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
06-02-2022 ExGrid, 17.2.0.2
*NEW: Ability to show / hide columns by check/un-check the column in the Columns floating-bar (ColumnsFloatBarVisible property)
*Added: The ColumnsFloatBarVisible property of ColumnsFloatBarVisibleEnum type, retrieves or sets a value that indicates whether the the columns float bar is visible or hidden. The ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns associates a check-box for each column. The Columns floating bar displays all columns with AllowDragging property on True, and the check's box state indicates whether the column is visible or hidden. As previously, the user can drag or drop any column in the Columns floating bar and the associated check-box is updated based on the column's Visible property.
*Added: Toggles the Visible property for listed columns within the Columns floating bar, when it is active and the user presses the SPACE key. This option is valid, while the ColumnsFloatBarVisible property is exColumnsFloatBarVisibleIncludeCheckColumns. For instance, you can click the Columns floating bar, start typing the column you are looking for, the Columns floating bar displays the matching columns only, and after that you can press the SPACE key to show or hides the selected columns.
*Added: The control's SearchColumnIndex property specifies the column being dropped or excluded from the Columns floating-bar, during the LayoutChanged event. If the column is being hidden, the SearchColumnIndex property indicates a negative value, else a positive value. For instance, you can use the MarkSearchColumn property on True, to highlight the column being shown by the Columns floating-bar (ColumnsFloatBarVisible property)
ExHTML, 19.0.0.1
*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
06-01-2022 ExG2antt, 21.0.0.3
*Added: The Items.ItemBar(exBarHAlignCaption) / Items.ItemBar(exBarExtraCaptionHAlign) supports 32(0x20) flag which indicates that the bar's caption fits the bar and view (that bar's caption is aligned relative to the intersection of the bar with the view)
*Added: The Items.ItemBar(exBarCaptionHOffset) / Items.ItemBar(exBarCaptionVOffset) property gets or sets the horizontal / vertical offset to show the bar's caption relative to its default position
*Added: The state of the newly inserted child-item is automatically set on 1, if the column-partial check feature is enabled and the parent-item's state is 1 (Items.CellState, Column.PartialCheck)
ExListBar, 18.0.0.1
*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
05-30-2022 ExICalendar, 13.0.0.1
*Added: The DTSTART field is set to current date and time, in case it is missing or it is invalid (no more error: "The DTSTART property is missing or invalid")
*Added: The UNTIL and COUNT rules can be used together within the expression, and so no more error "The UNTIL or COUNT rule parts are OPTIONAL, but they MUST NOT occur in the same 'recur'"
*Added: "Error: The UNTIL rule is invalid" occurs if UNTIL rule is invalid
ExLabel, 19.0.0.1
*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
05-25-2022 ExList, 18.0.0.1
*NEW: Radical Improvements for control's Filter-Prompt-Bar
*Added: The FilterBarPromptVisible property of FilterBarVisibleEnum type, specifies how the control's filter bar is displayed and behave. Previously, the FilterBarPromptVisible property was of Boolean type. By default, FilterBarPromptVisible property is exFilterBarHidden, so no filter bar is shown. Even so, the control's filter bar is shown as before, as soon as the user selects a value from the control's filter list, so a filter is applied. The FilterBarVisibleEnum type includes several flags that can be combined together, as described bellow.
*Added: The exFilterBarPromptVisible, exFilterBarVisible, exFilterBarCaptionVisible flag of FilterBarVisibleEnum type, forces the control's filter-prompt, filter bar or filter bar description ( even empty ) to be shown.
*Added: The exFilterBarSingleLine flag of FilterBarVisibleEnum type, specifies that the filter bar's caption is shown on a single line, so <br> HTML tag or \r\n are not handled. By default, the control's filter description applies word wrapping. Can be combined to exFilterBarCompact to display a single-line filter bar. 
*Added: The exFilterBarToggle flag of FilterBarVisibleEnum type, specifies that the user can close the control's filter bar ( removes the control's filter ) by clicking the close button of the filter bar or by pressing the CTRL + F, while the control's filter bar is visible. If no filter bar is displayed, the user can display the control's filter bar by pressing the CTRL + F key. While the control's filter bar is visible the user can navigate though the list or control's filter bar using the ALT + Up/Down keys.
*Added: The exFilterBarShowCloseIfRequired flag of FilterBarVisibleEnum type, indicates that the close button of the control's filter bar is displayed only if the control has any currently filter applied. The Background(exFooterFilterBarButton) property on -1 hides permanently the close button of the control's filter bar. 
*Added: The exFilterBarShowCloseOnRight flag of FilterBarVisibleEnum type, specifies that the close button of the control's filter bar should be displayed on the right side. If the control's RightToLeft property is True, the close button of the control's filter bar would be automatically displayed on the left side.
*Added: The exFilterBarCompact flag of FilterBarVisibleEnum type, compacts the control's filter bar, so the filter-prompt will be displayed to the left, while the control's filter bar caption will be displayed to the right. This flag has effect only if combined with the exFilterBarPromptVisible. This flag can be combined with the exFilterBarSingleLine flag, so all filter bar will be displayed compact and on a single line.
ExShellView, 15.0.0.1
*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
05-23-2022 ExGauge, 22.0.0.2
*Added: PowerBuilder 21.0 sample
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
ExFolderView, 16.0.0.1
*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
05-18-2022 ExGantt, 18.2.0.4
*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. For instance, FormatColumn = "((1 apos ``) lpad `0000`) + `. ` + value" displays the cell's content including the position of the row, padded to left with 4-zero (if required)
*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: A GPF (Stack overflow) occurs if using ADO DataSource for provider of vfpoledb.
ExEdit, 19.0.0.1
*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
05-16-2022 ExFileView, 16.0.0.4
*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.
*Fixed: The BrowseFolderPath fires "The BrowseFolderPath property isn't a valid path or the path is not derived from ExploreFromHere" exception when using a correct relative-path to ExploreFromHere, while ExploreFromHere property points to a network folder such as "\\tsclient"
ExCalcEdit, 17.0.0.1
*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
05-11-2022 ExDialog, 12.0.0.2
*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: 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
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
ExCalendar, 20.0.0.2
*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
05-09-2022 ExComboBox, 17.0.0.3
*Added: FilterPromptEnum.exFilterPromptWords Or FilterPromptEnum.exFilterPromptStartWith filters for items that starts with the exactly the word (not partially).
*Added: FilterPromptEnum.exFilterPromptWords Or FilterPromptEnum.exFilterPromptEndWith filters for items that starts with the exactly the word (not partially).
*Added: FilterPromptEnum.exFilterPromptCaseSensitive Or FilterPromptEnum.exFilterPromptPattern filter items using the giving pattern (case-sensitive). For instance, "a*" filters for all items that starts with lowercase "a"
*Fixed: The FilterPromptEnum.exFilterPromptEndWith flag of FilterBarPromptType property filters more items than it should.
ExCalc, 15.0.0.1
*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
05-04-2022 ExCascadeTree, 14.0.0.2
*Added: View.RemoveSelection or Items.RemoveSelection method removes the selected items (including the descendents)
*Fixed: All columns part of the ExpandColumns property get hidden once a column gets removed
*Fixed: The expanded/collapsed columns are not shown properly after a new column
ExButton, 21.0.0.1
*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
05-02-2022 ExG2antt, 21.0.0.2
*Added: Serializes the visibility and position of the columns float bar using the Layout property. The "ColumnsFloatBar" and "ColumnsFloatBarRect" fields of Layout content save/load the visibility/position of the columns float bar. In other words, the Layout property serializes the columns float bar (visibility and position)
*Fixed: The HeaderSingleLine property is ignored if the control's header displays multiple levels of columns (Column.LevelKey property)
*Fixed: The vertical-scroll bar is not shown/hidden once the column gets resized (Def(exCellSingleLine) property)
ExToolTip, 16.0.0.1
*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
04-26-2022 ExMenu, 15.0.0.1
*Added: PowerBuilder 21.0 sample
*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
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}'
EXMLGrid, 17.0.0.1
*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
04-20-2022 ExEditors, 11.0.0.2
*Added: CTRL + A, selects all text in caret-type editor.
*Fixed: Prevents beeping on CTRL + A
*Fixed: The Background (exToolTipForeColor) property does not apply to the tooltip's title
ExMaskEdit, 14.0.0.1
*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
04-13-2022 ExContextMenu, 15.0.0.1
*Added: New visual appearance for all internal icons to support high DPI resolution (100%, 125%, 150%, 175% , 200% and , 300%)
*Fixed: The Background (exToolTipForeColor) property does not apply to the tooltip's title
*Fixed: The internal icons are stretched and look distorted when DPI scalling is not 100%
ExSchedule, 21.0.0.1
*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
04-11-2022 ExFileView, 16.0.0.3
*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: The control shows the dragging column in black, no matter of the color specified by the control's ForeColorHeader property.
ExOrgChart, 19.0.0.1
*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
04-06-2022 ExG2Host, 17.0.0.1
*NEW: Redefine the way the control shows round-links, for a better look
*Added: The Level.Alignment supports the flag 0x100 (256, exHNoClip) which indicates that the labels within the level are not clipped to the time-units. For instance, you can use this option in addition to FormatLevel method to show the label over multiple time-units.
*Fixed: A straight-horizontal or vertical link may be shown as solid, even the link's type is dashed or dotted, while the link is displayed as round (Items.Link(, exLinkShowRound) property is -1)
*Fixed: The links of the dragging-bar are not properly updated, once the user moves the bar from an item to another item ( ItemBar(,,exBarCanMoveToAnother) property )
*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.
ExCalendar, 20.0.0.1
*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 scalling is not 100%
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
04-04-2022 ExplorerBar, 17.0.0.1
*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 
ExRollist, 13.0.0.1
*Added: PowerBuilder 21.0 sample
*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
ExListBar, 17.0.0.2
*Added: ExListBar.pdf (include the control's documentation in PDF format)
*Added: PowerBuilder 21.0 sample
03-30-2022 ExList, 17.0.0.6
*Added: Miscellaneous changes for control's scrollbar-extension such as: contiguously scrolls the control's content line by line, or page by page ( if CTRL is pressed ) while the user keeps clicking the up/left top/right side of the thumb-extension, closes the scrollbar-extension as soon as the user presses ALT + F4, ALT + TAB, shows the scrollbar-extension only if effective mouse movement occurs, hides the scrollbar-extension as soon as the owner control loses the focus
*Added: The Background(exForeColorFilter) and Background(exBackColorFilter) applies the foreground / background colors to the drop down filter edit field ( pattern, date, filter on type, and so on )
*Added: Update the column's sort icon, so it won't be shown as distorted on DPI systems.
*Fixed: Closes the control's drag and drop image when user drops data to any other control. For instance, a MessageBox during the target's OLEDragDrop event will keep showing the control's drag and drop picture ( Background(exDragDropAfter) property, /COM version )
*Fixed: Sometimes the user can't drop data to a target control ( OLEDragDrop event is not fired, or fired for the source control, /COM version )
ExToolBar, 17.0.0.1
*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 scalling is not 100%
*Fixed: The Background (exToolTipForeColor) property does not apply to the tooltip's title
03-28-2022 ExGrid, 17.2.0.1
*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 ColumnsFloatBarVisible property of ColumnsFloatBarVisibleEnum type, retrieves or sets a value that indicates whether the the columns float bar is visible or hidden. Currently, the Columns float bar can display hidden columns or groupable columns ( Column.AllowGroupBy property on True ). Previously, the ColumnsFloatBarVisible property was of Boolean type, and displays the hidden columns only, with the Column.AllowDragging propertyon True. For instance, if the ColumnsFloatBarVisible property is exColumnsFloatBarVisibleIncludeGroupByColumns(1), the Columns float bar displays all columns that are not displayed by the control's sort bar ( SortBarVisible property ), and the Column.AllowDragging and AllowGroupBy properties are True )
*Fixed: The Items.SelectItem property returns 1 instead of -1 / True value.
ExGauge, 22.0.0.1
*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 
03-23-2022 ExGantt, 18.2.0.3
*Fixed: Prevents showing the column being dropped to the Columns floating-bar with a different background color ( ColumnsFloatBarVisible, Background(exCursorHoverColumn) )
*Fixed: The Items.SelectItem property returns 1 instead of -1 / True value.
*Fixed: "Not a valid bookmark.", "Record is deleted." error may be fired, when the control's DataSource property points to an ADODB.Recrodset, whose Requery method has been invoked. When the control is notified that a Requery, Filter has been performed on the control's DataSource, all items are cleared, and new one are inserted by re-iterating the recordset source.
*Fixed: Sometimes, the user can't scroll to the last item, if the last scrollable item is partially visible.
ExDialog, 12.0.0.1
*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
03-21-2022 ExG2antt, 21.0.0.1
*Fixed: The Visual Studio 2022 (64-bit IDE) crashes if you try to place the /NET assembly in the form (design mode)
*Fixed: The first visible row is partially visible (and inaccessible), once the control removes the vertical scroll-bar (resize the control)
*Fixed: The Items.ItemHasChildren property returns 1, instead of True(-1) value
*Fixed: FormatAnchor(False) = vbNullString fails (vbNullString is a special VB constant that denotes a null string. The "" literal is an empty string)
ExToolBar.CRD, 17.0.0.1
*Added: PowerBuilder 21.0 sample
*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
03-16-2022 ExTree, 18.0.0.4
*NEW: Multiple improvements for expression-like properties such as: ConditionalFormat.Expression, Column.FormatColumn, Items.FormatCell and so on
*Added: a `like` b binary-operator compares the string a against the pattern b. The pattern b may contain wild-characters such as *, ?, # or [] and can have multiple patterns separated by space character. In order to have the space, or any other wild-character inside the pattern, it has to be escaped, or in other words it should be preceded by a \ character. For instance "value like `F*e`" matches all strings that start with F and ends on e, or "value like `a* b*`? indicates any strings that start with a or b character.
*Added: The 0x or 0X sequence proceed the hexa-representation of a number, in properties that support expressions. For instance, "value = 0x100" specifies whether the value is 256 ( 0x100 in hexa-representation ) 
*Added: `hex` a unary-operator converts the giving string from hexa-representation to a numeric value, or converts the giving numeric value to hexa-representation. For instance, hex(`FF`) returns 255, while the hex(255) or hex(0xFF) returns the `FF` string. The hex(hex(`FFFFFFFF`)) always returns `FFFFFFFF` string, as the second hex call converts the giving string to a number, and the first hex call converts the returned number to string representation (hexa-representation). 
*Added: a `bitand`, `bitor`, `bitxor` b binary/bitwise-operator computes the AND/OR/XOR operation on bits of a and b, and returns the unsigned value. For instance, 0x01001000 bitand 0x10111000 returns 0x00001000, 0x01001000 bitor 0x10111000 returns 0x11111000, 0x01110010 bitxor 0x10101010 returns 0x11011000.
*Added: a `bitshift` b, binary/bitwise-operator shifts every bit of a value to the left if b is negative, or to the right if b is positive, for b times, and returns the unsigned value. For instance, 128 bitshift 1 returns 64 ( dividing by 2 ) or 128 bitshift (-1) returns 256 ( multiplying by 2 )
*Added: `bitnot` x unary/bitwise-operator flips every bit of x, and returns the unsigned value. For instance, bitnot(0x00FF0000) returns 0xFF00FFFF.
ExG2Host, 16.0.0.9
*Fixed: Can't scroll to the top by rotating the mouse wheel, if the first visible item is higher that control's default item height ( ScrollBySingleLine property )
*Fixed An extra dot-line may be shown while the user vertically scrolls the control while Chart.DrawGridLines property is not-zero and the control's DrawGridLines property is zero.
*Fixed: Items.CellEditorVisible property on exEditorVisible(1), fails for a CheckValueType editor
*Fixed: The control's ForeColorHeader property is not applied on the control's columns-float bar (the columns into the columns-float bar are always displayed in black)
*Fixed: The control shows the dragging column in black, even the control's header shows the columns in white (ForeColorHeader property)
03-14-2022 ExSwimLane, 19.0.0.1
*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 
ExSurface, 18.0.0.5
*Added: PowerBuilder 21.0 sample
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
03-09-2022 ExList, 17.0.0.5
*Added: Support for multiple-lines for column's caption (including Column.HTMLCaption) when it is vertically displayed ( Column.HeaderVertical property is True, control's HeaderSingleLine property is False )
*Fixed: The column's caption is not displayed if the control's font is "MS Sans Serif" and the Column.HeaderVertical property is True
*Fixed: The column's caption is not vertically aligned if it contains \r\n sequences ( EOL )
*Fixed: Prevents showing the column's caption vertically when it is displayed on control's GroupBy/Sort-bar. ( Column.HeaderVertical, SortBarVisible property )
ExComboBox, 17.0.0.2
*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: The Items.ItemMinHeight and Items.ItemMaxHeight properties are ignored if resizing all items, using the ItemsAllowSizing property on exResizeAllItems.
*Fixed: Removes double { from HKEY_CLASSES_ROOT\ExComboBox.Appearance\CLSID\{{0926E3D7-DE4C-4081-A79D-E0210D99BA5C}}
03-07-2022 ExGrid, 17.1.0.4
*NEW: Ability to wraps the cell's caption on line break only
*Added: The Items.CellSingleLine property specifies whether the cell's caption is displayed on single-line, or wraps around the words or line breaks. Previously, the Items.CellSingleLine property was of Boolean type, while currently it is of CellSingleLineEnum type. For instance, Items.CellSingleLine() = exCaptionBreakWrap indicates that the cell's caption is displayed on new lines when line break is found ( <br> for HTML captions or \r\n sequence ). Also, the option is valid if you specify the Column.Def(exCellSingleLine) property.
*Fixed: Prevents showing the vertical scroll bar, when it is not required when control is running in virtual mode ( ScrollBars, VirtualMode, UnboundHandler, DataSource property )
*Fixed: The Items.SelectableItem property returns 1 instead of -1 / True value.
*Fixed: The Items.SelectItem property returns 1 instead of -1 / True value.
ExG2antt, 20.0.1.4
*Added: The Description(exFilterBarExclude) allows ex-html format (ability to replace the “Exclude” field with your custom ex-html string)
*Added: Improves the speed to scroll/display the control on 4K applications.
*Fixed: Scrolling is slower if the control displays grid-lines (DrawGridLines property)
03-02-2022 ExFileView, 16.0.0.2
*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: Sometimes, the user can't scroll to the last item, if the last scrollable item is partially visible.
ExplorerTree, 20.0.0.1
*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 
02-28-2022 ExGantt, 18.2.0.2
*NEW: Ability to show / hide columns by check/un-check the column in the Columns floating-bar (ColumnsFloatBarVisible property)
*Added: The ColumnsFloatBarVisible property of ColumnsFloatBarVisibleEnum type, retrieves or sets a value that indicates whether the the columns float bar is visible or hidden. The ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns associates a check-box for each column. The Columns floating bar displays all columns with AllowDragging property on True, and the check's box state indicates whether the column is visible or hidden. As previously, the user can drag or drop any column in the Columns floating bar and the associated check-box is updated based on the column's Visible property.
*Added: Toggles the Visible property for listed columns within the Columns floating bar, when it is active and the user presses the SPACE key. This option is valid, while the ColumnsFloatBarVisible property is exColumnsFloatBarVisibleIncludeCheckColumns. For instance, you can click the Columns floating bar, start typing the column you are looking for, the Columns floating bar displays the matching columns only, and after that you can press the SPACE key to show or hides the selected columns.
*Added: The control's SearchColumnIndex property specifies the column being dropped or excluded from the Columns floating-bar, during the LayoutChanged event. If the column is being hidden, the SearchColumnIndex property indicates a negative value, else a positive value. For instance, you can use the MarkSearchColumn property on True, to highlight the column being shown by the Columns floating-bar (ColumnsFloatBarVisible property)
ExThumbnail, 17.0.0.1
*NEW: Ability to browse for folders once the user double-clicks it
*Added: ThumbnailModeEnum.exThumbnailBrowseOnDblClk flag browses for a new folder once the user double clicks it. The AcceptFolders property should be exIncludeSubFoldersOnly or exIncludeAny, so folders are being shown within the control's content. For instance, the Mode = exThumbnailBrowseOnDblClk simulates an Explorer (Files and Folders browser) control. The user can browse back for the parent-folder using the Backspace key.
*Added: PowerBuilder 21.0 sample
02-23-2022 ExPrint, 20.0.0.1
*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 
ExCascadeTree, 14.0.0.1
*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: 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
02-21-2022 ExSwimLane, 18.1.0.2
*NEW: Cartesian coordinates
*Added: Coord property specifies the type of coordinates the elements display within the surface. For instance, Coord property on exCartesian | exAllowPositiveOnly shows only positive Cartesian coordinates (only the right-up panel relative to origin is displayed). The exAllowPositiveOnly flag prevents element with negative values when the user moves the elements/pools by drag and drop.
*Fixed: Prevents showing the link's arrow smaller when multiple links are connected to the same element (ShowLinks property includes exShowExtendedLinks flag)
ExButton, 20.0.0.2
*Added: PowerBuilder 21.0 sample
*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
*Fixed: The control's tooltip stop showing once it goes away after 5 seconds
02-14-2022 ExSuite/JS, 10.3
*NEW: The ExSchedule/JS library is our approach to provide scheduling of appointments into your web application. The ExSchedule/JS is a HTML standalone-component, written in JavaScript, that uses no third-party libraries (exontrol.schedule)
*NEW: The ExSchedule/JS library is our approach to provide scheduling of appointments into your web application. The ExSchedule/JS is a HTML standalone-component, written in JavaScript, that uses no third-party libraries (exontrol.schedule)
*NEW: Ability to arrange orthogonally the link's path by drag and drop the control-points (exontrol.surface)
*NEW: Cartesian coordinates (exontrol.surface)
*Added: The first parameter of Date.Create supports ISO 9601 string representation of dates, such as "2011-10-10" (date-only form), "2011-10-10T14:48:00" (date-time form), or "2011-10-10T14:48:00.000+09:00" (date-time form with milliseconds and time zone) (exontrol.common)
*Added: The exontrol.HTMLPicture.Proto object exports the prototype of inside HPic class which holds an image being displayed by <img>image[:width][:height]</img> tag. This way you can provide your custom-drawing over any HTML picture, by overriding the Draw(ctx, client) method of exontrol.HTMLPicture.Proto object (exontrol.common)
*Added: LinkControlPointEnum.exOrthoArrange flag specifies that the user can arrange orthogonally the link's path by drag and drop the link's control- points. For instance, AllowLinkControlPoint on LinkControlPointEnum.exOrthoArrange Or LinkControlPointEnum.exMiddleControlPoint Or LinkControlPointEnum.exControlPoint Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint indicates that the focused link displays all control-points (including the start/end control-points) and it can be orthogonally arranged once the user drag and drop a control-point. The link can be orthogonally arranged only if its path includes orthogonally lines (vertical or horizontal lines). If the LinkControlPointEnum.exOrthoArrange flag is missing the user can freely arrange the link by drag and drop any of its control-points. (exontrol.surface)
*Added: Coord property specifies the type of coordinates the elements display within the surface. For instance, Coord property on exCartesian | exAllowPositiveOnly shows only positive Cartesian coordinates (only the right-up panel relative to origin is displayed). The exAllowPositiveOnly flag prevents element with negative values when the user moves the elements/pools by drag and drop. (exontrol.surface)
*Added: Calendar.prototype.getSel method returns the control's selection as an exontrol.Arr([Date]) type (unique array of dates)
*Added: Layout/GetLayout()/SetLayout(value), saves or loads the control's layout (exontrol.calendar)
*Added: Selection/SetSelection(value), selects nothing(null), one(string, number or Date) or more(array) dates (exontrol.calendar)
*Added: Allow smooth scroll programmatically using the ScrollPos method. For instance, oTree.Smooth(function() {oTree.ScrollPos = {y: 1024}}) smooth vertically scrolls the control's content to 1024 position (exontrol.tree)
*Added: The value parameter of exontrol.ScrollBar.Scroll(action, value) method specifies the number of times the Scroll method is called by, while action is exLineUp, exLineLeft, exLineDown or exLineRight. For instance, Scroll(exLineDown, 2), scrolls down by two lines (exontrol.scrollbar)
*Added: Stops any interval, timeout or requestAnimationFrame that currently runs once the user presses the Escape key (exontrol.exhelper)
*Added: exontrol.exschedule to exhelper/js tool
*Fixed: The "expression in (c1,c2,c3,...cn)" or "expression switch (default,c1,c2,c3,...,cn)" does not work correctly if expression, c1, c2, c3, are dates. For instance, "value in (#2/1/2002#,#2/2/2002#,#2/3/2002#)" does not work correctly (exontrol.common)
*Fixed: The windows are not properly restored once the user presses ESC key while resizing the windows (exontrol.common)
*Fixed: The active-object (hover-state) is not updated once the Smooth method ends (exontrol.common)
*Fixed: The exhelper/js tool freezes if an exception error occurs during animation frames(requestAnimationFrame), timeouts(setTimeout) or intervals(setInterval) (exontrol.exhelper)
*Fixed: Simplifies (removing the duplicate neighbor control-points, reducing the contiguously orthogonal lines, removing the loop once a control-point coincide with another) the link's path while it is customized by drag and drop only (exontrol.surface)
*Fixed: exontrol.SV.prototype.drawObject renamed to exontrol.SV.prototype.drawE = function(ctx, rtObject, oObject, oAO). The drawE/drawEntity() method draws the entity (element, element's glyphs, pool) on the specified context (exontrol.surface)
*Fixed: Cant's select a date if it is includes time. For instance, Calendar.Selection = Date.Now() does not select today, as Calendar.Selection = Date.Today(). The Now() method returns the current date and time, while Today returns date only (no time included) (exontrol.calendar)
*Fixed: The control's layout is lost once the user presses left/right arrows and tfi option is set (exontrol.calendar)
*Fixed: The exontrol.SV namespace renamed to exontrol.Surface.CV (exontrol.surface)
*Fixed: The exontrol.CV namespace renamed to exontrol.OrgChart.CV (exontrol.orgchart)
*Fixed: The exontrol.TV namespace renamed to exontrol.Tree.TV (exontrol.tree)
*Fixed: The Soom(zoomTo, oPointAbs) method does not scroll exactly to the right position when fit drag and drop operation is performed (Shift + MButton) (exontrol.tree)
*Fixed: The exontrol.GV namespace renamed to exontrol.Gantt.GV (exontrol.gantt)

The following movie shows the first-look of the newly ExSchedule/JS control:

The ExSchedule/JS library is our approach to provide scheduling of appointments into your web application. The ExSchedule/JS is a visual HTML5 component that shows a timeline view for multiple activities. The time is displayed on the vertical (Y) axis and the activities are automatically arranged over a single or multiple dates. The ExSchedule/JS is a HTML standalone-component, written in JavaScript, that uses no third-party libraries.
ExSchedule, 20.0.0.2
*Added: Background(exScheduleDayBackColorAlternate) property specifies the visual appearance for alternate days. By default the Background(exScheduleDayBackColorAlternate) property is zero, and so the option is ignored.
*Added: Background(exScheduleDayForeColorAlternate) property specifies the foreground color for alternate days. By default the Background(exScheduleDayForeColorAlternate) property is zero, and so the option is ignored.
*Fixed: Prevents showing the event's up or down arrows for single-date "all-day" events, while the control's time-scale display all-day events (AllDayEvent property)
ExPivot, 16.0.0.5
*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)
02-07-2022 ExG2antt, 20.0.1.3
*Added: The Items.ItemBar(,,exBarShowCaption) property shows or hides the task's caption.
*Added: The Items.ItemBar(,,exBarShowExtraCaption) property shows or hides all extra-captions associated with the bar.
*Added: The 0x200(exGridLinesGeometric) flag draws the grid lines using a geometric pen (geometric pens are generally slower than cosmetic pens)
ExHelper, 22.8.0.1
*Added: Keep SHIFT key while loading the eXHelper tool to prevent loading the questions and running the last saved-template (useful to quick load the tool, restoring the template that produces a GPF, ...)
*Added: ExEdit 18.0
*Added: ExPropertiesList 21.0
*Added: ExTree 21.0
02-02-2022 ExGrid, 17.1.0.3
*Fixed: Prevents re-grouping the items when a column does not change it's position in the control's SortBar/GroupBy bar. Prevents changing the column's sorting position when the user drags the column's header in a few pixels. ( SortBarVisible property )
*Fixed: The EnsureVisibleItem method does not vertically scroll the control's content, if previously the control's list has been sorted ( Column.SortOrder property, Layout property, ... )
*Fixed: A black frame is shown around the control if using ViewModeOption(exTableView,exBorderHeight) or ViewModeOption(exTableView,exBorderWidth) property.
*Fixed: Clears the Items collection before calling the UnboundHandler property.
ExG2Host, 16.0.0.8
*Added: Prevents showing the thumb of the vertical scroll bar, if the ScrollBySingleLine property is True, and the control displays a single item (higher than the control's height)
*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
01-26-2022 ExComboBox, 17.0.0.1
*NEW: Data Binding support for /WPF assembly
*Added: DataSource property gets or sets the data source that the control is displaying data for. The DataContext/DataSource support of the control allows you to use the data-binding feature of the /WPF environment for our /WPF ex-controls. The DataSource property specifies the sub-set of DataContext the control should get data from. The DataSource property can be: DataTable, DataView, DataSet, DataViewManager, any component that implements the IListSource interface, or any component that implements the IList interface. The DataContext is the source of all entities mapped over a database connection. Once the DataSource property is set, the control automatically gets data based on the DataContext property.
*Added: Prevents resizing an item with Items.ItemAllowSizing property on True, while Items.ItemMinHeight and Items.ItemMaxHeight provides no range ( for instance are both are equal ). In the same manner the resize-cursor does not shows up once the cursor hovers the resize part of the item.
*Fixed: The Items.ItemMaxHeight property on 0, is ignored while the item contains a cell with Items.CellSingleLine property on False.
ExTree, 18.0.0.3
*NEW: Display a placeholder for missing icons, images in HTML captions.
*Added: The Key parameter of the HTMLPicture property is case insensitive, so you can display the picture using the insensitive key. For instance, <img>picA</img> is equivalent with <img>pica</img>, or <img>PICA</img> and so on.
*Added: The HTML caption shows a missing image placeholder for images whose source is missing. The missing placeholder displays the index of the icon being missing, or the key of the HTML picture being missing. 
*Fixed: Prevents "Do you want to save ..." / "Save changes...' input box, when the user opens the form in design mode, and close it.
01-24-2022 ExList, 17.0.0.4
*NEW: Multiple improvements for expression-like properties such as: ConditionalFormat.Expression, Column.FormatColumn, Items.FormatCell and so on
*Added: a `like` b binary-operator compares the string a against the pattern b. The pattern b may contain wild-characters such as *, ?, # or [] and can have multiple patterns separated by space character. In order to have the space, or any other wild-character inside the pattern, it has to be escaped, or in other words it should be preceded by a \ character. For instance "value like `F*e`" matches all strings that start with F and ends on e, or "value like `a* b*`? indicates any strings that start with a or b character.
*Added: The 0x or 0X sequence proceed the hexa-representation of a number, in properties that support expressions. For instance, "value = 0x100" specifies whether the value is 256 ( 0x100 in hexa-representation ) 
*Added: `hex` a unary-operator converts the giving string from hexa-representation to a numeric value, or converts the giving numeric value to hexa-representation. For instance, hex(`FF`) returns 255, while the hex(255) or hex(0xFF) returns the `FF` string. The hex(hex(`FFFFFFFF`)) always returns `FFFFFFFF` string, as the second hex call converts the giving string to a number, and the first hex call converts the returned number to string representation (hexa-representation). 
*Added: a `bitand`, `bitor`, `bitxor` b binary/bitwise-operator computes the AND/OR/XOR operation on bits of a and b, and returns the unsigned value. For instance, 0x01001000 bitand 0x10111000 returns 0x00001000, 0x01001000 bitor 0x10111000 returns 0x11111000, 0x01110010 bitxor 0x10101010 returns 0x11011000.
*Added: a `bitshift` b, binary/bitwise-operator shifts every bit of a value to the left if b is negative, or to the right if b is positive, for b times, and returns the unsigned value. For instance, 128 bitshift 1 returns 64 ( dividing by 2 ) or 128 bitshift (-1) returns 256 ( multiplying by 2 )
*Added: `bitnot` x unary/bitwise-operator flips every bit of x, and returns the unsigned value. For instance, bitnot(0x00FF0000) returns 0xFF00FFFF.
ExFileView, 16.0.0.1
*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.
01-17-2022 ExSurface, 18.0.0.4
*Fixed: The caption of the link is not placed adequately when you design a custom path for the link (AllowLinkControlPoint, Link.AllowControlPoint, Link.CustomPath property)
*Fixed: The ID parameter of the Arrange method is ignored
*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
ExEMail, 9.0.0.1
*Added: ExEMail.pdf (include the control's documentation in PDF format)
01-12-2022 ExThumbnail, 16.0.0.3
*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
*Added: "date(fopened - bias/24/60)" converts the UTC time to local time (last access time)
*Fixed: Special characters (é, è, à, ê, â, etc ...) are lexicographic ordered (German „umlauts“)
ExResizer, 4.0.0.1
*Added: ExResizer.pdf (include the control's documentation in PDF format)
*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
01-10-2022 ExG2antt, 20.0.1.2
*Fixed: The application hangs if the chart displays stacked-tasks within a date-range (Bar.OverlaidType, Chart.ScrollRange, Chart.ShowNonworkingUnits )
*Fixed: The DateChange event occurs every time the user vertically scrolls the chart (only if Chart.ScrollRange, Chart.ShowNonworkingUnits are used)
*Fixed: A GPF occurs if using the Chart.AllowInsideZoom property
ExGantt, 18.2.0.1
*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). 
*Fixed: "The current version, supports ADO and DAO Recordsets. Make sure that the object is an ADO recordset, or a DAO recordset" error may occur if using ADO objects.
01-05-2022 ExSwimLane, 18.1.0.1
*NEW: Ability to arrange orthogonally the link's path by drag and drop the control-points
*Added: LinkControlPointEnum.exOrthoArrange flag specifies that the user can arrange orthogonally the link's path by drag and drop the link's control- points. For instance, AllowLinkControlPoint on LinkControlPointEnum.exOrthoArrange Or LinkControlPointEnum.exMiddleControlPoint Or LinkControlPointEnum.exControlPoint Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint indicates that the focused link displays all control-points (including the start/end control-points) and it can be orthogonally arranged once the user drag and drop a control-point. The link can be orthogonally arranged only if its path includes orthogonally lines (vertical or horizontal lines). If the LinkControlPointEnum.exOrthoArrange flag is missing the user can freely arrange the link by drag and drop any of its control-points.
*Fixed: Simplifies (removing the duplicate neighbor control-points, reducing the contiguously orthogonal lines, removing the loop once a control-point coincide with another) the link's path while it is customized by drag and drop only
ExCascadeTree, 13.0.0.4
*Fixed: The master cell gets hovered while the mouse cursor hovers the button of a split-cell. (Items.SplitCell, Background(exCursorHoverCellButton) property)
*Fixed: Sometimes, the column's partial-check feature does not work correctly (Column.PartialCheck, Column.Def(exCellHasCheckBox))
*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)
01-03-2022 ExTree, 18.0.0.2
*Added: The exMatchIncludeParent flag of the FilterInclude property specifies whether the parent item is checking if the current value is not matching. In other words, if the value on the current item is not matching the filter, the control check the parent item's value and so on. If any match, the current item is included. 
*Fixed: Removing certain objects during events of the control may fail. (DELETEIT)
*Fixed: Sometimes, aGPF may occur if calling the Items.RemoveAllItems during an event.
*Fixed: Sometimes, the Items.RemoveItem method fails, while the control is running in group-view mode ( AllowGroupBy property is True, Columns.SortBarColumnsCount property is not-zero ).
ExMiller, 16.0.0.7
*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