18.0.0.4 May 22, 2024
*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
*Added: The `format` operator of expression properties supports formatting the date values, using d, dd, ddd, ddd (day of the month as digits, with or without leading zeros, abbreviated day of the week, day of the week as specified by the current locale ), m, mm, mmm, mmmm (month as digits, with or without leading zeros, abbreviated month, month as specified by the current locale), y, yy, yyy, yyyy (year represented only by the last digits, by a full four or five digits, depending on the calendar used) literals. For instance, the "date(value) format `mmm d, yyyy`" gets the value in MMM d, YYYY format using the current locale, such as "Jan 12, 2023"
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
18.0.0.3 Feb 21, 2024
*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: The AttachTemplate method fails if using "handle" keyword on x64 version
18.0.0.2 Nov 29, 2023
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet
*Added: Margin property defines the distance between text and inner border.
18.0.0.1 Sep 18, 2023
*Added: DPI-Aware Support
*Added: New visual appearance for all internal icons to support high DPI resolution (100%, 125%, 150%, 175%, 200% and 300%)
*Fixed: The internal icons are stretched and look distorted when DPI scaling is not 100%
17.0.0.2 Oct 26, 2022
*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
17.0.0.1 May 16, 2022
*NEW: Z-Events support (Standard .NET event patterns)
*Added: Every event of the control (/NET assembly) provides a Z-Event alternative, of "void OnEventRaised(object sender, EventArgs args)" type. The .NET convention is for an event (Z-event) signature to have a void return and 2 parameters. The first parameter is of type System.Object and is the sender of the event. The second parameter must be of type System.EventArgs or derived from System.EventArgs and contains data passed between sender and receiver. For instance, the "DblClick(object sender, short Shift, int X, int Y)" event is equivalent to "ZDblClick(object sender, ZDblClickArgs e)", where "ZDblClickArgs" type is derived from System.EventArgs and includes definitions for Shift, X and Y properties
*Fixed: "Warning: The <event-name> event is a .NET event that does not follow the .NET convention for event signatures (OpenEdge, ABL code)". To prevent this warning, under OpenEdge environment you must use the Z-event alternatives
16.0.0.3 Sep 08, 2021
*Added: The expression properties supports `bias` constant that defines the difference, in minutes, between Coordinated Universal Time (UTC) and local time. For example, Middle European Time (MET, GMT+01:00) has a time zone bias of "-60" because it is one hour ahead of UTC. Pacific Standard Time (PST, GMT-08:00) has a time zone bias of "+480" because it is eight hours behind UTC. For instance, date(value - bias/24/60) converts the UTC time to local time, or date(date('now') + bias/24/60) converts the current local time to UTC time
*Fixed: 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: 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)
16.0.0.2 Aug 04, 2021
*Added: Sets or gets the control's Font property in design mode, for the /NET version
*Fixed: The BackColor/ForeColor properties of the /NET version are not serialized once the user changes in design mode (the control's background/foreground is set to the default value once the form is started)
*Fixed: Improves the conversion of the string to date, while using Regional settings (Windows System) for date like ddd.dd.mm.yyyy (Su.15.02.2021)
16.0.0.1 Apr 28, 2021
*Added: The Images method supports the Microsoft ImageList ( mscomctl.ocx, MSComctlLib.ImageList type) object directly. Shortly, you can define the control's images by calling Images(ImageList1.Object). The ImageList1.Object returns the object of MSComctlLib.ImageList type. The Microsoft ImageList object is available for /COM on x86 and x64 machines (starting from Access 2016)
*Fixed: The previously selection is lost if the user successively SHIFT + click the text
*Fixed: By default, set the Appearance property to 0
15.0.0.1 Jan 20, 2021
*Added: ExCalcEdit.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
14.0.0.1 Mar 22, 2020
*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: 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: Any expression that includes the "in" operator fails.
13.0.0.1 Jan 27, 2020
*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).
12.0.0.1 Sep 30, 2019
*Added: /NET and /WPF assemblies
*Added: The Version property includes the SpecialBuild number of the assembly so it provides information like Major.Minor.Build.Revison.SpecialBuild.Type...
*Fixed: Prevents showing the line's result outside of the control's client area, if the line is too long.
*Fixed: Prevents "Do you want to save ..." / "Save changes...' input box, when the user opens the form in design mode, and close it.
11.0.0.5 Aug 26, 2019
*Added: Variable(Name) property returns the value of the specified variable.
*Added: The CaretPos property retrieves or sets a value that indicates the position of the caret in the line.
*Added: AllowFormatInvalidOnTyping property specifies whether the FormatInvalid property is applied on the current line, while typing into the control.
*Added: Allows inserting a new line after or before a locked line, when the user presses the ENTER key.
11.0.0.4 May 20, 2019
*Added: FormalLocal property indicates the expression that defines the formatted value being replaced in FormatResult properties, when %l% is found. For instance, FormatLocal property on "currency(value)", and FormatResult property on "= %l%", formats the result as a currency string, as indicated by the control panel. For instance, FormatLocal property on "value format '2'" always displays the result with 2 decimals
*Added: InsertLockedText property inserts a locked lines to the control. A locked line can not be removed/deleted at runtime.
*Fixed: Prevents adding variables with empty name, in the control's context menu ( CTRL + SPACE )
*Fixed: Prevents showing the line's result if it contains a single negative number.
11.0.0.3 Feb 20, 2019
*NEW: Ability to count lines being evaluated, and so you can get average functions, and so on
*Added: The AllowCount property specifies the keyword that makes the control to display the count all lines being counted in a Total group. By default, the AllowCount property is "<b>Count</b>", which indicates the "count" keyword indicates the number of lines being counted in the Total group.
*Added: The AllowSubCount property specifies the keyword that makes the control to display the subcounts. By default, the AllowSubCount property is "<fgcolor=808080><b>SubCount</b></fgcolor>", which indicates the "subcount" keyword defines the number of lines being counted in the SubTotal group.
*Added: The FormatCountResult specifies the HTML format to display the result of a Count line.
*Added: The FormatSubCountResult specifies the HTML format to display the result of a SubCount line.
11.0.0.2 Dec 10, 2018
*NEW: Ability to define variables using the syntax variable = expression, for instance VAT = Total * 0.19, which specifies that the VAT variable is defined as being the Total multiplied by the 0.19.
*Added: The AllowVariables property specifies the expression ( no HTML )that defines the equal operator, so you can define variables. By default, the AllowVariables property is "", which indicates no support for variables. For instance, if the AllowVariables property is "=", indicates that you can define variables by calling var = expression
*Added: The AddWildFormat method formats the line based on the giving wild characters expression. For instance, AddWildFormat("<i>*=*") formats all lines that contains = character in italics
*Added: The DeleteWildFormat method deletes an entry from the wild characters expressions collection
*Added: The ClearWildFormats method clears the wild characters expressions collection into a sensitive control.
11.0.0.1 Oct 17, 2018
*NEW: Ability to use comments and prefixes
*Added: The AllowComments property specifies the HTML caption that starts the comment of the line. For instance, AllowComments property on "<fgcolor=00FF00>'" specifies that all characters of the line after a ' character is green and considered the comment's line. The comment of the line is not evaluated. If empty, no comments are allowed.
*Added: The AllowPrefixes property specifies the HTML caption that ends the prefix of the line. For instance, AllowPrefixes property on "<fgcolor=808080>:" specifies that all characters of the line before a : character is gray and considered the prefix's line. The same as the comment of the line, the prefix of the line is not evaluated. If empty, no prefixes are allowed.
*Added: The UseTabKey property specifies whether the control uses the TAB key.
10.0.0.4 Sep 10, 2018
*NEW: Ability to use sqrt, sin, cos, and more functions
*Added: CalcType property specifies the type of operations the control support.
*Added: FormatInvalid property specifies the HTML format to show the invalid lines.
*Added: The result is showing up to 10 significant figures.
10.0.0.3 Jun 11, 2018
*NEW: Ability to highlight the Total/SubTotal lines with a different background color
*Added: LineHeight property specifies an expression that determines the height of the line within the editor.
*Added: DrawGridLines property returns or sets a value that determines whether lines are drawn between rows, or unpopulated areas.
*Added: GridLineColor property specifies the color to show the control's grid lines.
*Added: BackColorTotal property specifies the background color to show the Total line.
*Added: BackColorSubTotal property specifies the background color to show the SubTotal lines.
10.0.0.2 Apr 18, 2018
*Added: Export property exports the control's content as text, including the results.
*Added: FormatTotalResult property specifies the HTML format to display teh result of a Total line. For instance, FormatTotalResult property "<r><b><font ;12><fgcolor=808080>%%</fgcolor>" displays the Total result on the right side of the control, with a larger font.
*Added: FormatSubTotalResult property specifies the HTML format to display teh result of a SubTotal line. For instance, FormatSubTotalResult property "<r><b><font ;12><fgcolor=808080>%%</fgcolor>" displays the SubTotal result on the right side of the control, with a larger font.
*Added: The %l% field in any FormatResult, FormatTotalResult or FormatSubTotalResult, displays the result using the current regional setting. For instance it displays the number using grouping.
10.0.0.1 Jan 15, 2018
*NEW: Ability to add [Sub]Total lines
*Added: AllowTotal property specifies the keyword that makes the control to display the sum/total of all lines. By default, the AllowTotal property is "<b>Total</b>", which indicates that once the user types Total, it displays the sum of all lines. At runtime, the user can easily add the Total keyword, by typing the T character, and right after pressing the CTRL + Space keys combination.
*Added: AllowSubTotal property specifies the keyword that makes the control to display the subtotals. By default, the AllowSubTotal property is "<fgcolor=808080><b>SubTotal</b></fgcolor>", which indicates that once the user types SubTotal, it displays the sum of all previously lines, until another Total or SubTotal line is found. At runtime, the user can easily add the SubTotal keyword, by typing the S character, and right after pressing the CTRL + Space keys combination.
*Added: InsertText method inserts text to control.
*Added: CaretLine property indicates the line that displays the caret.
9.0.0.1 Nov 22, 2017
*NEW: Multiple-Lines Support
*Added: MultiLine property specifies whether the control accepts multiple lines.
*Added: Count property counts the lines in the control.
*Added: TextLine([Line]) specifies the line based on its index.
*Added: Result([Line]) retrieves the result of the giving line.
*Added: IsValid([Line]) property specifies whether the expression on the giving line is valid.
8.0.0.2 Sep 25, 2017
*Added: TemplatePut method defines inside variables for the next Template/ExecuteTemplate call.
*Fixed: Prevents showing the control's view in design mode, while running on FORTH system ( /COM version )
*Fixed: Prevents a memory leak when loading icons, pictures, from BASE64 encoded strings (Images method, HTMLPicture picture).
8.0.0.1 May 08, 2017
*NEW: Template support
*Added: Template property specifies the control's template.
*Added: ExecuteTemplate executes a template and returns the result.
*Added: TemplateDef property defines inside variables for the next Template/ExecuteTemplate call.
7.0.0.1 Apr 10, 2017
*Added: EvaluateSel property specifies whether the control evaluates the selection. By default, the EvaluateSel property is True, which indicates that the selection is evaluated as soon as it is changed.
*Added: AddDecimalSep property specifies an additional decimal separator. By default. the dot character is considered the decimal separator. For instance, use the AddDecimalSep property on "," to define the comma character as being your decimal separator.
*Fixed: A GPF occurs if the application is started from design mode ( demo / evaluation / trial version only )
6.0.0.1 Jul 01, 2015
*Added: The Click event occurs ONLY if the user presses and releases the left mouse button on the same location, inside the control. If any mouse movement is detected between press/release no Click event is fired. Previously, the Click event is fired once the user releases the left mouse button over the control. You can use the MouseUp(1) event to notify your application once the user releases the left mouse button within the control.
*Fixed: A Click event occurs right after DblClick event.
5.0.0.1 Mar 12, 2014
*NEW: Windows 8.1 64-bit compatibility
*Added: The /COM 64-bit version is compatible with Microsoft Office Applications: Excel 2013, Access 2013,...
*Added: The /NET(/WPF) 64-bit version is compatible with Microsoft NET Framework 4, 4.5, 4.5.1, ...
4.0.0.1 Jun 24, 2013
*Fixed: MS Access plays a beep, when the user presses the Backspace key while the control has the focus.
*Fixed: In MS Access, can't use the CTRL+F4 key to close the current form.
3.0.0.1 Sep 03, 2012
*Fixed: On terminal-servers (citrix), CPU-consumption varying from 1-4%, if multiple instances of the control is opened in the same time ( Exontrol.CommentWindow )
*Fixed: In MS Access, the control loses its data once the Visible property is set on False or when the control is hosted to a tab control, and user changes the pages.
*Fixed: In MS Access, can't use the F2 key.
2.0.0.1 Dec 27, 2010
*Added: Compatible with the Data Execution Prevention (DEP). (SpecialBuild:8836)
*Added: 64-bit support.
*Fixed: Any 0 after decimal separator is ignored
*Fixed: The MDI form requires an extra click to activate it, once a modeless dialog is closed. The dialog contains a VB6 UserControl that hosts the control. ATL3.0 BUG
1.0.0.1 March 03, 2006
* First Release