❮
❯
PDF Scaling Options, such as page-fit ([w] x [h]) and percentage (p%):
![]()
The following movie shows the PDF scaling options in action. The page-fit mode ([w] x [h]) automatically adjusts the page so that its entire content fits within the available width and height, keeping the correct proportions and possibly leaving margins. The percentage mode (p%) instead applies a fixed zoom factor, such as 100% for actual size, 50% for half size, or 200% for double size, regardless of the output page dimensions. The features will be supported by ExCascadeTree, ExFileView, ExG2antt, ExGauge, ExGrid, ExOrgChart, ExPivot, ExPropertiesList, ExSchedule and ExTree.
Building Hierarchies Made Easy: Edit, Undo, and Redo with Ease:
![]()
This movie demonstrates how to use the Copy, Cut, Paste, and Indent features to easily create and manage a hierarchical structure. You can perform these actions using keyboard shortcuts or through the context menu for convenience. The movie also highlights the Undo and Redo functionality, which lets you quickly reverse or repeat recent actions, making editing faster and easier, while helping you avoid mistakes. The Copy, Cut, Paste, and Indent features will be supported in the eXGrid and eXG2antt controls.
Graph availability for the eXPivot/JS version:
![]()
The eXPivot divides its area into four sections: one for applying aggregate functions to the pivot's cells, sections for pivot rows and columns that define the table structure, and a table section that can display either tabular data or graphical charts. The custom-view feature allows integration with any custom controls. In this example, eXGraph is used to enhance eXPivot with graphical capabilities. eXGraph visualizes the summarized information as columns, displaying aggregated data from eXPivot rather than raw values, which makes it easier to interpret trends and comparisons graphically. Click here to try or more sample here
The following video demonstrates how eXGraph adds graphical functionality to eXPivot:
![]()
The movie demonstrates how to display various types of charts based on the summarized data within the pivot control. The control can divide its area into four sections: one for applying aggregate functions to the pivot's cells, the pivot rows and columns that define the table structure, and the table section that can display either tabular data or graphical charts. The custom-view feature supports any type of custom controls. In this sample, the eXGraph is used to provide graphical features for eXPivot. The feature will be supported in the /COM, /NET, /WPF, and /JS versions as well.
The following video highlights an innovative feature designed to improve link visualization:
![]()
The following video demonstrates a new feature that enhances link visualization. It intelligently avoids obstacles such as elements, objects, and bars, ensuring a clear and unobstructed display. Additionally, overlapping links are distinguished by alternating colors and variable widths, improving clarity and making it easier to differentiate them visually. This feature will be available across all configurations (/JS, /COM, /NET, and /WPF) for the following components: eXSurface, eXSwimlane, eXG2antt, and eXG2Host.
|
Feb13
|
ExGrid, 20.0.0.6
*Fixed: The locked-items are displayed normally only when the cursor hovers them else they are shown bolder
(ShowLockedItems property, Items.LockedItemCount property)
*Fixed: Sometimes, the CellButtonClick event is not fired ( for instance, click outside the button's caption)
*Fixed: The Column.Def(exCellButtonAutoWidth) property has no effect for HTML buttons
(Column.Def(exCellValueFormat) is exHTML)
*Fixed: The sort-order is not changed once the user sorts an already grouped-column, if the column's SortType is
SortNumeric, SortDate, SortDateTime or SortTime (AllowGroupBy property)
|
|
|
ExEditors, 15.0.0.1
*Added: The OLESelfRegister flag in version info (used by MSI and other installers to detect and call DllRegisterServer for COM self-registration)
*Fixed: Completely removes the tooltip's shadow when the ToolTipDelay property exceeds 250 ms
*Fixed: Handling events via AttachTemplate could cause a general protection fault
(GPF) when closing the application (COM version only)
|
|
Feb12
|
ExComboBox, 20.0.0.2
*Added: CTRL + A, selects all text in caret-type editor.
*Fixed: Prevents beeping on CTRL + A
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
*Fixed: The ScrollPos(False) property may not work properly if the ContinueColumnScroll property is False
|
|
|
ExSurface, 22.0.0.4
*Added: UndoRemoveAction([Action], [Count]) method removes the last undo actions that can be performed on the surface
*Added: RedoRemoveAction([Action], [Count]) method Removes the first redo actions that can be performed on the surface
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)
|
|
Feb11
|
ExTree, 20.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.
*Fixed: The exFilterExclude flag is not serialized by control's Layout property. The exFilterExclude flag indicates whether the column's filter is reversed.
*Fixed: The Layout property of the control does not update/clear the control's filter, if Column's FilterType is specified.
|
|
|
ExList, 20.0.0.6
*Added: The 0x200(exGridLinesGeometric) flag draws the grid lines using a geometric pen (geometric pens are generally slower than cosmetic pens)
*Added: Improves the speed to scroll/display the control on 4K applications.
*Fixed: Scrolling is slower if the control displays grid-lines (DrawGridLines property)
|
|
Feb09
|
ExPivot, 19.0.0.5
*Added: The control's tooltip is shown when the cursor hovers it no matter if the window that hosts the control is activated
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)
*Fixed: No file is generated by CopyTo method if the file name ends with spaces
|
|
|
Expression, 21.0.0.2
*NEW: Ability to display the numbers in scientific (1.23e+03) or fixed-point (1230.00) notation
*Added: The format operator of expression properties supports formatting numbers in scientific (1.23e+03) or fixed-point (1230.00) notation; the "value format 'flags'" string accepts the pattern '%'<flags>?<width>?<precision>?<length>?<specifier>, where flags control formatting as follows: - (left-justify), + (always show sign), space (prefix space for positives), # (force decimal point or preserve trailing zeros), and 0 (pad with zeros), with optional width, precision, length (l, ll, L, etc.), and specifier (e, E, f, F, etc.). The format specifier e (or E) defines scientific (exponential) notation output. The format specifier f (or F) defines fixed-point notation output. For instance, "dbl(value) format '%.2e'" converts the value to a number and formats it using scientific notation (gives both the mantissa and the exponent in scientific notation (e.g., 1.23e+003)), showing 2 digits after the decimal point. For instance "dbl(value) format '%.2e' replace `e` with ` x 10<off -4>` replace `+00` with ``" shows the number using as mantissa and a power of 10, such as 1.23 x 10^3
*Added: Support for displaying the scroll bar's tooltip inside the control while dragging the thumb (ScrollToolTip property)
|
|
Feb04
|
ExG2antt, 28.0.0.7
*NEW: Predecessor/Successor columns support, or ability to display and edit the links of the bar, using the bar's predecessor/successor(s) fields
*Added: The ItemBar(exBarPredecessor) property defines the list of bar's predecessors separated by comma. The bar's predecessor is defined in
INDEX1["SF"|"FS"|"FF"|"SS"][KEY][:["W"]LAG|:LAG["W"]] format, where INDEX1 is the 1-based index of the item that hosts the bar followed by the type of the link which can be one any of SF(Start-Finish), FS(Finish-Start), SS(Start-Start) or
FF(Finish-Finish) sequence (FS if missing), continues with the KEY of the bar (empty is not used), and ends with the LAG of the link (specifies the delay the activity is postponed by the link). The "W" indicates a working-lag for the link (specifies the delay in working-units the activity is postponed by the link). For instance, "2FSZ" specifies that the current item-bar is linked with the "Z" bar of the second item (item with the index 1) using a Finish-Start link. The "1SF:-2" adds a Start-Finish link with the bar '' of the first-item, using a lag of -2 days. Changing the
ItemBar(exBarPredecessor) property updates the links related to the current bar.
*Added: The ItemBar(exBarSuccessor) property defines the list of bar's successors separated by comma. The bar's successor is defined in
INDEX1["SF"|"FS"|"FF"|"SS"][KEY][:["W"]LAG|:LAG["W"]] format, where INDEX1 is the 1-based index of the item that hosts the bar followed by the type of the link which can be one any of SF(Start-Finish), FS(Finish-Start), SS(Start-Start) or
FF(Finish-Finish) sequence (FS if missing), continues with the KEY of the bar (empty is not used), and ends with the LAG of the link (specifies the delay the activity is postponed by the link). The "W" indicates a working-lag for the link (specifies the delay in working-units the activity is postponed by the link). For instance, "3SFy" specifies that the current item-bar is linked with the "y" bar of the third item (item with the index 1) using a Start-Finish link. Changing the
ItemBar(exBarSuccessor) property updates the links related to the current bar.
*Added: The Background(exPSLinkColorEditSel) property specifies the color to highlight the links being selected within an editable predecessor/successor column
*Added: The Background(exPSBarColorEditSel) property specifies the color to highlight the incoming/outgoing bars of the links being selected within an editable predecessor/successor column
|
|
|
ExListBar, 21.0.0.1
*Added: The OLESelfRegister flag in version info (used by MSI and other installers to detect and call DllRegisterServer for COM self-registration)
*Fixed: Completely removes the tooltip's shadow when the ToolTipDelay property exceeds 250 ms
*Fixed: Handling events via AttachTemplate could cause a general protection fault
(GPF) when closing the application (COM version only)
|
|
Feb02
|
ExSuite/JS, 5.1
*Added: The ScrollPos property can be a number to set only the vertical scroll position in pixels. Previously, the ScrollPos property should be an object of {x,y} type (exontrol.common)
*Added: The ensureOpts parameter of the EnsureVisibleClient(client, ensureOpts) method supports the expandParents field (effective when client is an Item): 0 - no parent items are expanded, 1 - parent items are expanded, 2 - parent items are expanded and fully visible. For instance, oTree.EnsureVisibleClient(oTree.Item(10), {expandParents: true}) expands the parent items of the item at index 10 and ensures that the item is fully visible (exontrol.tree, exontrol.gantt, exontrol.pivot)
*Added: The clientA parameter of the EnsureVisibleClient(client, ensureOpts) method supports integers, which indicate the index of the item to fit into the view (exontrol.tree, exontrol.gantt, exontrol.pivot)
*Added: The Item(index) and Items.Item(index) methods accept negative indices to access items relative to their addition order, where -1 returns the most recently added item, -2 returns the item added just before it, and so on (exontrol.tree, exontrol.gantt, exontrol.pivot)
*Added: The Column(index) and Columns.Item(index) methods accept negative indices to access columns relative to their addition order, where -1 returns the most recently added column, -2 returns the column added just before it, and so on (exontrol.tree, exontrol.gantt,
exontrol.pivot)
...
|
|
|
EXMLGrid, 20.0.0.1
*Added: The OLESelfRegister flag in version info (used by MSI and other installers to detect and call DllRegisterServer for COM self-registration)
*Fixed: Completely removes the tooltip's shadow when the ToolTipDelay property exceeds 250 ms
*Fixed: Handling events via AttachTemplate could cause a general protection fault
(GPF) when closing the application (COM version only)
|
|
|
ExMaskEdit, 17.0.0.3
*Added: The Refresh method updates the control's font, so changes to the font properties take effect only after calling the Refresh method.
*Added: Alignment property aligns the control's text. For instance, Alignment = exCenter centers the control's text
*Fixed: Cell incorrectly adds an extra zero when entering a negative value in edit mode before the decimal separator, when using the Mask property for negative numbers (e.g., "!999,999,990.000;;;float,negative,grouping=\,,decimal=.")
|
|
Jan28
|
ExGraph, 12.0.0.5
*Fixed: The category line is now displayed to the end of the chart when categories are grouped using the CategoryAxis.Split property for "area" or
"rangeArea" chart types.
*Fixed: The cursor remains visible after closing the application
*Fixed: Ignores the ex-HTML tags inherited from Categories or Series when displaying the crossover near a serie
(Cursor.Visible property is True)
|
|
|
ExPlorerBar, 21.0.0.1
*Added: The OLESelfRegister flag in version info (used by MSI and other installers to detect and call DllRegisterServer for COM self-registration)
*Fixed: Completely removes the tooltip's shadow when the ToolTipDelay property exceeds 250 ms
*Fixed: Handling events via AttachTemplate could cause a general protection fault
(GPF) when closing the application (COM version only)
|
|
Jan26
|
ExSchedule, 23.0.0.8
*Added: The Event.LabelAlign / Event.ExtraAlign property supports exWidth(4)
flag that distributes the label on the event's width.
*Added: Redefines the default context menu for HTML-Edit to include Left,
Center, Right to Align section and Solid, Dotline and Upline in
miscellaneous section
*Fixed: The Enter key on a field of Edit type (such as ID or Options of the
anchor item) resets field's content instead setting it as it is, on the
control's default context-menu
|
|
|
ExList, 20.0.0.5
*NEW: Ability to sort by state or cell's image
*Added: The Column.SortType property supports exSortByState (0x20) (the column gets sorted by cell's state (checked, unchecked) rather than cell's caption). For instance, Column.SortType =
exSortByState(0x20), sorts the column based on the cell's state. The Items.CellState property specifies the cell's state.
*Added: The Column.SortType property supports exSortByImage (0x30), the column gets sorted by cell's image rather than cell's caption. For instance, Column.SortType =
exSortByImage(0x30), sorts the column based on the cell's image. The Items.CellImage property retrieves or sets a value that indicates the index of icon to display in the cell.
*Added: The option "Roll the mouse wheel to scroll" of Window's mouse & touchpad settings specifies the number of items to vertically scroll. Previously, scrolling vertical with the mouse wheel takes 3 items at a time
|
|
Jan22
|
ExG2antt, 28.0.0.6
*Added: The start/end margins of the bar being created, moved or resized defined by Chart.DateLabelTicker property, is displayed while the property is not-empty, no matter of the Chart.DrawDateTicker property. Shortly, the Chart.DateLabelTicker property does not depend anymore on Chart.DrawDateTicker property.
*Added: The Chart.AllowCreateBar property supports
exCreateBarAutoEndInclusive(2) and exCreateBarManualEndInclusive(-2) values, similar with
exCreateBarAuto(1) respectiv exCreateBarManual(-1), and the end margin of the bar to create by drag and drop includes the end date of the date-time unit from the cursor. The CreateBar event is fired if the user clicks and drags the newly-bar (so frame is shown). No automatically items are added and no CreateBar event is called if the user just clicks the chart (no drag).
*Fixed: The width of the list (left-panel) is changed if the control's width is resized, even if the OnResizeControl property is exResizeChart
*Fixed: Export("array",...) method returns a string instead of a two-dimensional array (NET version only)
|
|
|
ExRadialMenu, 20.0.0.1
*Added: The OLESelfRegister flag in version info (used by MSI and other installers to detect and call DllRegisterServer for COM self-registration)
*Fixed: Completely removes the tooltip's shadow when the ToolTipDelay property exceeds 250 ms
*Fixed: Handling events via AttachTemplate could cause a general protection fault
(GPF) when closing the application (COM version only)
|
|
Jan21
|
ExTree, 19.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: The control shows the dragging column in black, even the control's header shows the columns in white
(ForeColorHeader property)
*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: 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.
|
|
|
ExPlorerTree, 24.0.0.2
*NEW: The Expression of the ConditionalFormat/ComputedField/FormatColumn now supports new keywords that retrieve the number of child items (%CC0, %CC1, ...), check whether the item is expanded or collapsed (%CX0, %CX1, ...)
*Added: The properties ConditionalFormat.Expression, Items.FormatCell, and Column.FormatColumn now support %CC0, %CC1, etc., to get the number of child items; %CX0, %CX1, etc., to check whether the item is expanded or collapsed. Here, 0, 1, ... specify the index of the column where the cell is queried. For instance, '%CC0 = 0' specifies leaf items, while '%CC0' identifies parent items
*Fixed: The expressions of ConditionalFormat.Expression, Column.FormatColumn, ... do not support %Cn keywords, so conditional or column format is not applied if it includes %Cn keywords
|
|
Jan19
|
ExCascadeTree, 18.0.0.1
*NEW: Ability to export the control's data as an array using the Export method
*Added: If the Destination argument of Export method is "array", the Export method returns the control's data as a safe two-dimensional array. For instance
Export("array","vis") method exports the control's data as it is displayed into a two-dimensional array (zero-based). The result includes the columns headers into the first list, while the rest of lines contains the control's visible data. For instance, Export("array",
"vis")(1, 5) returns the value of the cell on the second column and fifth row.
*Added: The <solidline> and <dotline> HTML tags support color in RGB format using the <solidline
RRGGBB> or <dotline RRGGBB> syntax, which indicates the color to show the solid or dotted line
|
|
|
ExToolBar, 21.0.0.4
*Added: FormatABC method formats the A,B,C values based on the giving expression and returns the result. For instance,
FormatABC("dpi") returns a numeric value that indicates the display settings ( aspect ratio )
*Fixed: The control's background shows white areas behind inner edit controls when scrolling via drag and drop (with the exArrangeItemsScroll flag set in the ArrangeItemsAs property)
*Fixed: Prevent returning the event parameter by reference when accessing the
EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the
EventParam(index) property
|
|
Jan14
|
ExSwimLane, 22.0.0.5
*Added: UndoRemoveAction([Action], [Count]) method removes the last undo actions that can be performed on the surface
*Added: RedoRemoveAction([Action], [Count]) method Removes the first redo actions that can be performed on the surface
*Added: Pool.EnsureVisible() method scrolls the surface to ensure that the current pool fits the control's visible area
*Added: Pool.StartUpdatePool() property starts changing properties of the pool, so EndUpdatePool method adds programmatically updated properties to undo/redo queue.
*Added: Pool.EndUpdatePool(StartUpdatePool) method adds programmatically updated properties of the pool to undo/redo queue
|
|
|
ExPropertiesList, 24.0.0.3
*Added: Enhances the loading speed of EBN files
*Fixed: The Background(exToolTipAppearance) call might be time-consuming
*Fixed: The horizontal scrollbar now properly reveals the last column when dragged. Previously, only clicking the right arrow button moved the scrollbar to display the last column when the ContinueColumnScroll property was set to False
|
|
Jan12
|
Expression, 21.0.0.1
*Added: Delphi 12 sample
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: Declares event parameters as [in, out] in the control's Type library to ensure that the class wrapper correctly generates code for parameters passed by reference. For example, in Delphi, the wrapper class now displays the NewValue parameter of the Change event as var
NewValue: OleVariant rather than const NewValue: OleVariant.
|
|
|
ExSlider, 21.0.0.8
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
*Fixed: Prevent returning the event parameter by reference when accessing the
EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the
EventParam(index) property
|
|
Jan07
|
ExGrid,
20.0.0.5
*Added: Enabling the Incremental Search Feature on any column with a
locked-editor (ReadOnly property is exLocked or Editor.Locked property is
True )
*Added: RemoveSelection or Items.RemoveSelection method removes the selected
items (including the descendents)
*Fixed: The user can still type characters into a locked drop down-editor (ReadOnly
property is exLocked or Editor.Locked property is True )
*Fixed: Editor.AddItem(value,vbNullString,image) method fails
|
|
ExPivot,
19.0.0.4
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: Sometimes, the control may hang up in virtual-mode if the user
presses PageUp/PageDown several times
*Fixed: The AttachTemplate method fails if using "handle" keyword
on x64 version
|
|
Jan05
|
ExSuite/JS, 5.0
*NEW: Multiple enhancements for exhelper/js such as syntax highlighting, color-string highlighting with preview boxes, and IntelliSense/autocomplete support (exontrol.run.js,exontrol.ace.js,exontrol.typelib.js)
*NEW: The on/off feature can now bind both events and keyboard shortcuts. If the first argument of the on method is a string that encloses a shortcut in {}, such as "{Ctrl + A}", it defines a keyboard shortcut, and the callback is invoked when the user presses that key combination within the control. For instance, on("{Ctrl + A}", callback) invokes the callback when the user presses CTRL + A, while on("click", callback) invokes the callback when the user clicks the control. The off method can be used to unbind both events and shortcuts defined this way (exontrol.common)
*Added: Replaces the exontrol.Def.XXX namespace with exontrol.XXX.Options, so the control uses exontrol.XXX.Options instead of exontrol.Def.XXX, where XXX is the component name (for example, Tree, Gantt, Pivot, etc.)
*Added: ItemBar.ResizePercentStep/GetResizePercentStep()/SetResizePercentStep(value) {number}, defines the incremental step for resizing a bar's percentage value (exBarPercent) via drag-and-drop at runtime; it accepts a unitary number between 0 and 1, where 0 allows freeform resizing and any value greater than 0 limits resizing to fixed increments of the bar's total percent range. For instance, a value of 0.05 makes the bar resize in 5% increments when dragged, allowing more controlled and predictable adjustments (exontrol.gantt)
*Added: Only the right label from the Chart.DateTickerLabel property is displayed for zero-length bars, such as milestone types (exontrol.gantt)
...
|
|
|
ExG2antt, 28.0.0.5
*NEW: Ability to export the control's data as an array using the Export method
*Added: If the Destination argument of Export method is "array", the Export method returns the control's data as a safe two-dimensional array. For instance Export("array","vis") method exports the control's data as it is displayed into a two-dimensional array (zero-based). The result includes the columns headers into the first list, while the rest of lines contains the control's visible data. For instance, Export("array", "vis")(1, 5) returns the value of the cell on the second column and fifth row.
*Added: The <%=formula%> expression of Chart.DateTickerLabel property supports "wcount" keyword that gets the working-count between start and end margins of the bar being created, resized or moved. The Chart.NonworkingDays, Chart.NonworkingHours, Items.ItemNonworkingUnits properties define the non-working portion of the chart. Currently, the formula supports "value", "start", "end" and "wcount" keywords.
|
|
|
|
|