exmlgrid - what's new
18.0.0.5 Mar 18, 2024
*Added: The control's tooltip is shown when the cursor hovers it no matter if the window that hosts the control is activated
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet

18.0.0.4 Jan 24, 2024
*Fixed: Can't use the control on Excel sheet.
*Fixed: The AttachTemplate method fails if using "handle" keyword on x64 version
*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)

18.0.0.3 Oct 18, 2023
*NEW:   Support for "FileGroupDescriptor" and "FileContents" clipboard format, or ability to accept messages or attachments by drag and drop from the MS Outlook application (or any other applications that use these clipboard format)
*Added: During the OLEDragDrop event the Data.Files.Count property returns the number of messages or attachments being dropped, while Data.Files(index) property returns the fully path-name of the file that contains the message or the attachment. The control automatically extracts the message/attachment's content to a temporarily file, as you would drop a file from Windows Explorer.
*Fixed: The Data.Files(i) property returns only the first letter of the file rather than the full name of the dragged file (/COM version)

18.0.0.2 Jul 24, 2023
*NEW:   Ability to specify the size to show the icons within the control
*Added: DPI-Aware support
*Added: ImageSize property specifies the size of the control' icons. By default, the ImageSize property is 16. The control's Images collection is cleared if the ImageSize property is changed, so it is recommended to set the ImageSize property before calling the Images method. For instance, if the ICO file to load includes different types the one closest with the size specified by ImageSize property is loaded by Images method.

18.0.0.1 Mar 15, 2023
*Added: New visual appearance for all internal icons to support high DPI resolution (100%, 125%, 150%, 175%, 200% and 300%)
*Fixed: The internal icons are stretched and look distorted when DPI scaling is not 100%
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method

17.0.0.2 Aug 17, 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: The Background (exToolTipForeColor) property does not apply to the tooltip's title

17.0.0.1 Apr 26, 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.1 May 26, 2021
*Added: EXMLGrid.pdf (include the control's documentation in PDF format)
*Added: The Images method supports the Microsoft ImageList ( mscomctl.ocx, MSComctlLib.ImageList type) object directly. Shortly, you can define the control's images by calling Images(ImageList1.Object). The ImageList1.Object returns the object of MSComctlLib.ImageList type. The Microsoft ImageList object is available for /COM on x86 and x64 machines (starting from Access 2016)

15.0.0.2 Jan 06, 2021
*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: FormatAnchor(False) = vbNullString fails (vbNullString is a special VB constant that denotes a null string. The "" literal is an empty string)
*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

15.0.0.1 Nov 09, 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). 

14.0.0.3 Sep 14, 2020
*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. 

14.0.0.2 Jul 06, 2020
*Added: The Version property includes the SpecialBuild number of the assembly
*Fixed: A GPF occurs if the application is started from design mode ( demo / evaluation / trial version only )
*Fixed: Prevents "Do you want to save ..." / "Save changes...' input box, when the user opens the form in design mode, and close it.

14.0.0.1 May 18, 2020
*Added: "Clear Visual Design" and "Edit Visual Design" are available for /NET version on design mode.
*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).

13.1.0.4 Apr 08, 2020
*NEW:   Ability to serialize the control's content as a text using the SaveXML method
*Added: The SaveXML method exports the control's content as a string, if the Destination parameter is a reference to a string. For instance, The syntax Dim s As String: G2antt1.SaveXML s: MsgBox (s), saves and displays the control's content in XML format as a string.
*Added: The LoadXML method loads an XML document using the supplied string.
*Added: Node.Picture support keys of pictures being added using the HTMLPicture property of the control. 

13.1.0.3 Jan 29, 2020
*Added: Search(What, How) property searches for a node, using the How criteria. For instance, Search("Version", exStartWith ) searches for a node whose name starts with Version, and returns its reference.
*Added: SelectAll method selects all nodes in the control. The property is available only if the SingleSel property is False.
*Added: UnselectAll method unselects all nodes in the control. The property is available only if the SingleSel property is False.
*Added: Node.ToolTipTitle property specifies the title for the node's tooltip

13.1.0.2 Nov 20, 2019
*Added: SelBackColorCollapse property specifies the node's selection background color, when the node is collapsed. The property can be combined with SelBackColor using different EBN colors.
*Added: The AddNode(Node) event is fired during the LoadXML method
*Added: Background(exCollapseButtonUp) property specifies the visual appearance for the expand button, when it is up, and the node is collapsed.
*Added: Background(exCollapseButtonUp) property on -1, prevents showing the node's expand button, when it is collapsed

13.1.0.1 Sep 09, 2019
*NEW: Unlimited options to show any HTML text, images, colors, EBNs, patterns, frames anywhere on the node's background. Ability to draw additional EBN/Color/Text/Patterns/Images on the node, using the EBN String Format (create and run at runtime EBN objects), when it is expanded or collapsed.
*Added: Node.BackgroundExt(State) property indicates additional colors, text, patterns, images that can be displayed on the node's background using the EBN string format, when the node is collapsed or expanded. For instance, Node.BackgroundExt(exCollapseBackgroundExtState) = "bottom[4,back=RGB(0,0,0)],top[4,back=RGB(0,0,0)]" draws a 4-pixels wide line aligned to the top and bottom sides of the node, while the node is collapsed. The Node.BackgroundExt(exExpandBackgroundExtState) = "bottom[10%+12,back=RGB(255,0,0),text=`<img>alert</img><b>Alert!`,align=0x11]" displays the alert picture and the Alert! caption as bold, on the RED background, on the bottom portion of the node (10%+12 pixels-wide from the object's client area, when the node is expanded). 
*Added: Node.BackgroundExtValue(State,Index,Property) property gets or sets a value that indicates the value of giving property for the object with indicated index. This property has effect only if the BackgroundExt(State) property is set. The BackgroundExtValue property allows you to change programmatically, the properties of the parts that composes the EBN object. For instance, BackgroundExtValue(0,exFrameColorExt) = RGB(255,0,0) draws a red frame around the root part of the object. For instance, you can use this property to change properties ( like colors ) of the EBN without having to assign a new EBN string format 
*Tip: The EBN is a set of UI elements that are built as a tree where each element is anchored to its parent element. The BackgroundExtValue property can change properties like: exBackColorExt (element's background color, including other EBN objects), exClientExt (position/size of the element), exAnchorExt (element's alignment relative to its parent), exTextExt (associates a HTML text on the element), exTextExtWordWrap (word wrapping of the elements text), exTextExtAlignment (alignment of the element's text), exPatternExt (pattern to be shown on the element), exPatternColorExt ( color of the pattern on the element ), exFrameColorExt (color to show the border-frame on the element), exFrameThickExt (shows a thick-frame around the element), exUserDataExt (associates an extra-data with the element)
*Tip: The eXButtons's builder WYSWYG tool provides the To String field, that indicates the EBN string format that can be used by BackgroundExt/BackgroundExtValue properties.

13.0.0.3 May 06, 2019
*NEW:   Easy way to define the control's visual appearance in design mode, using XP-Theme elements or EBN objects.
*Added: VisualDesign property specifies the control's visual appearance. The VisualDesign value is a BASE64 encoded string, that can be defined using the control's WYSWYG Visual Design Editor, which can be invoked by selecting the control in Design Mode, select Properties, go to the VisualDesign property and click the ... in the Properties browser. The value for this property can be used on /COM, /NET or /WPF. The /WPF version does not have the inside editor, instead any you can use the /COM or /NET to generate the BASE64 encoded strings for this property.
*Added: Background(exExpandButtonUp) / Background(exExpandButtonDown) on -1, prevents showing the node's expand button.
*Fixed: On Windows 7, the user can not open the open file dialog on MSDEV using the ShowImageList property ( VC 6.0 )
*Fixed: The Template property shows no ... button in the properties browser.

13.0.0.2 Feb 11, 2019
*NEW:   Ability to save/load automatically the control's layout.
*Added: Laput property saves or loads the control's layout, such selected nodes, scroll position, filtering, and so on.
*Added: ScrollPos(ScrollBar) property specifies the position of the control's horizontal/vertical scroll bar.
*Added: Advances to the parent of the node, when the user presses CTRL + LEFT or CTRL + UP key.
*Fixed: Can't collapse a node if clicking it's expanding extension on the child nodes.

13.0.0.1 Nov 29, 2018
*NEW:   Filter Prompt support ( The filter prompt feature allows you to filter the nodes as you type while the filter bar is visible on the bottom part of the control area )
*Added: FilterBarPromptVisible property shows or hides the filter prompt
*Added: FilterBarPromptType property specifies the type of the filter prompt
*Added: FilterBarPrompt property specifies the HTML caption to be displayed when the filter pattern is missing.
*Added: FilterBarPromptPattern property specifies the pattern for the filter prompt.

12.0.1.0 Oct 01, 2018
*Added: ResizeToFit( Level, IncludeNextLevels ) method resizes the control's level ( and the next ones ) so its content its fully visible.
*Added: Double-Click the border of the level, resizes the level so its content is fully visible. In the same manner, the CTRL + Double-Click, resizes all next levels.
*Added: Ensures as much as possible that children of an expanded node, fits the control's client area ( Node.Expanded property ) 

12.0.0.9 Jun 18, 2018
*NEW:   Ability to apply the Incremental Search on the node's Name or/and Value caption.
*Added: AutoSearchEnum.exStartWith/exValueStartWith/exAnyStartWith value of AutoSearch property indicates that the incremental search is looking for node's Name/Value/Any of Name or Value that starts with typing characters.
*Added: AutoSearchEnum.exContains/exValueContains/exAnyContains value of AutoSearch property indicates that the incremental search is looking for node's Name/Value/Any of Name or Value that contains the typing characters.
*Added: Increases the performance of parsing HTML captions.
*Fixed: The control's content is not updated once a partial-visible node is selected

12.0.0.8 Feb 14, 2018
*NEW:   Ability to use EBN colors for background colors of the nodes, like SelBackColor, SelBackColorChild, Node.BackColor, Node.BackColorChild, ...
*Added: Ability to apply the node's background/foreground / selection colors while the value is not -1. ( For instance, SelBackColorChild property on -1, does not mark the child of selected node )
*Added: SelBackMode property, specifies whether the selection should shown using opaque of transparent color.
*Added: Background(exShowFocusRect) property specifies the border color/visual appearance of the cell with the focus ( ShowFocusRect property is True ) 
*Added: ShowPartialParent property specifies where a partial-visible parent shows its content.

12.0.0.7 Nov 15, 2017
*NEW:   Scroll Extension which allows you to shrink the space used by control's scroll bars, and still using the scroll bars using the extension which shows up outside of the control's client area.
*Added: The ScrollPartEnum.exExtentThumbPart indicates the thumb-extension of the scroll bar. The ScrollPartVisible(Bar,exExtentThumbPart) on True enables the scroll bar extension.
*Added: Background(exVSThumbExt) specifies the visual appearance of the thumb-extension, for the vertical scroll bar. The similar values are exVSThumbExtP, exVSThumbExtD, exVSThumbExtH, when the thumb-extension is pressed, disabled or the cursor hovers it.
*Added: Background(exHSThumbExt) specifies the visual appearance of the thumb-extension, for the horizontal scroll bar. The similar values are exHSThumbExtP, exHSThumbExtD, exHSThumbExtH, when the thumb-extension is pressed, disabled or the cursor hovers it.
*Fixed: Prevents showing the default appearance of the exVSUpper/exHSUpper/exVSLower/exHSLower, if the exVSBack/exHSBack is set

12.0.0.6 Sep 18, 2017
*Added: Ability to move the dragging node as a child, while performing OLE Drag and Drop, if the cursor hovers the right-part of the node.
*Added: Node.ID property indicates the unique identifier of the node within the entire nodes collection.
*Added: Nodes.ItemByID( ID ) property returns a node giving its unique identifier
*Added: Nodes.RemoveByID( ID ) method removes the node giving  its unique identifier
*Fixed: The HitTestEnum.exHTPicture flag is returned when the cursor hovers the picture left/right coordinate, by ignoring the top/bottom coordinate

12.0.0.5 Apr 26, 2017
*NEW:   Exontrol Print Scale Support, Adjust To and Fit to Page Wide by Tall Support
*Added: Print.Options = "FitToPage = 75%", adjusts and prints the control's content to 75% of normal size.
*Added: Print.Options = "FitToPage = 2 x 3", indicates that the control's content is print to fit 2 pages wide by 3 tall.
*Added: Print.Options = "FitToPage = 2 x", indicates that the control's content is print to fit 2 pages wide by how many pages tall are required.
*Added: Print.Options = "FitToPage = x 3", indicates that the control's content is print to fit 3 pages tall to how many pages wide are required.

12.0.0.4 Mar 15, 2017
*NEW:	Ability to display known UI parts as in the current visual theme.
*Added: UseVisualTheme property specifies whether the UI parts of the control are displayed using the current visual theme.
*Added: The HitTest(-1,-1, node) gets the hit-test code from the current cursor position.
*Added: The NodeFromPoint(-1,-1) gets the node from the current cursor position.
*Fixed: The NodeFromPoint property gets nothing, if the cursor hovers the 1-pixel space between nodes when grid lines are shown.

12.0.0.3 Feb 08, 2017
*Added: Ability to use and show a custom tooltip using the ShowToolTip property even if any of the mouse buttons is pressed or not.
*Fixed: Prevents showing the tooltip's shadow if the current theme is applied on the tooltip
*Fixed: The bold/italic parts of the HTML captions may be slightly vertically-misaligned, if the control's default font is large ( 16.5 or greater )
*Fixed: The node's tooltip is not shown if the user hovers again the object, if previously its tooltip was automatically hidden by elapsing the time specified by the ToolTipPopDelay property.
*Fixed: The year displayed on the calendar window is shown according to the locale settings ( Thai, Buddhist, Korean, Japanese, ... )

12.0.0.2 Dec 26, 2016
*NEW:   Ability to specify ANY color to an EBN object, so you can use one EBN object to display it in any nuance, without embossing the shape and look of the EBN ( including transparent regions, and so on )
*Added: Significant improvements for control's performance while using a large number of EBN objects.
*Added: The EBN can be displayed using ANY color ( not only FF for rgb ). For instance, 0x1A88A5D indicates that EBN with the identifier 1 is displaying in Air Force blue color (#5D8AA8).
*Added: TemplateDef 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 show message is shown on the debugger ( dbgview ), when the tooltip is about to be shown.

12.0.0.1 Oct 24, 2016
*NEW:   Major/Radical improvements for XMLGrid component
*Added: AllowDuplicateEntries property, returns or sets a value that specifies whether the control supports nodes with the same key ( duplicates ). The property can be changed at runtime, while the control's nodes collection is empty.
*Added: Appearance.RenderType property specifies the way colored EBN objects are displayed on the component. For instance use the RenderType on -3 (0xFFFFFFFD), no color is applied, -2, for OR-color scheme (0xFFFFFFFE), -1 (0xFFFFFFFF) for AND-color scheme, ( older EBN color schemes ). The RenderType property is 0 by default, which indicates an A-color scheme. The first significant byte indicates the transparency while the other bytes indicates the RGB value.
*Added: Ability to specify the node's editor without calling the Editors.Add before, by specify the Node.Editor property to a EditTypeEnum value. For instance, Nodes.Add("Date", Date).Editor = EXMLGRIDLibCtl.EditTypeEnum.DateType, adds a node with a DateType editor.
*Added: Shows the pictures in the control as grayed, if the Enabled property is False ( the control is disabled )
*Fixed: The control fails if you click and hold the left mouse button on the thumb of the scrollbar itself and drag up and down and then click the right mouse button whilst the left button is still pressed

11.0.0.8 Aug 29, 2016
*NEW:   Ability to specify the key of the predefined value of a DropDownListType editor, as a string, rather than a numeric value, to be used in the Items.CellValue property.
*Added: Support for ActiveX over the /NET Framework ( ActiveX control written in C#, VB/NET, Regasm - Assembly Registration Tool, CSActiveX) 
*Added: The Caption parameter of the Editor.AddItem method can include the item's key to be used to identify the value in the DropDownListType editor. The | character divides the Caption parameter in Key and HTML caption to be displayed. If the | is missing, the Value parameter indicates the key of the item. For instance, Editor.AddItem(1,"NYC|<b>New York</b> City ") adds a predefined value with the key of "NYC" and displays "New York City" when the cell's CellValue property is "NYC".
*Fixed: An ICO file shows as 18x18 instead of 16x16 pixels if it is loaded using the HTMLPicture method.

11.0.0.7 Jul 30, 2016
*NEW:   Ability to specify different options in the Editor.Mask property
*Added: The Editor.Mask property, supports up to four parts, separated by a semicolon (;). For instance, "`Time: `00:00:00;;0;overtype,warning=<fgcolor FF0000>invalid character,beep", indicates the pattern "00:00" with the prefix Time:, the masking character being the 0, instead _, the field enters in over-type mode, insert-type mode is not allowed, and the field beeps and displays a tooltip in red with the message invalid character when the user enters an invalid character. 
*Added: The first part (pattern) is mandatory. It includes the mask characters or string (series of characters) along with placeholders and literal data such as, parentheses, periods, and hyphens. Characters enclosed in double quotation ("" or ``) marks will be displayed literally. If this part should display/use the  semicolon (;) character is should be included between double quotation ("" or ``) characters or as \; ( escape ). Currently, the special characters separated by space are: # 0 9 x X A a L ? & C > < * { } , [ ] - \    
*Added: The second part is optional and refers to the embedded mask characters and how they are stored within the field. If the second part is set to 0 ( default ), all characters are stored with the data, and if it is set to 1, the literals are stored, not including the masking/placeholder characters, if 2, just typed characters are stored, if 3, optional, required, editable and escaped entities are included (no double quoted text is included).
*Added: The third part of the input mask is also optional and indicates a single character or space that is used as a placeholder. By default, the field uses the underscore (_). If you want to use another character, enter it in the third part of your mask. Only the first character is considered. If this part should display/use the  semicolon (;) character is should be \; ( escape )
*Added: The forth part of the input, indicates a list of options that can be applied to input mask, separated by comma(,) character as follow: float,grouping,decimal,negative,digits,password,right,readonly,inserttype,overtype,nocontext,beep,warning,select,empty,validate

11.0.0.6 May 23, 2016
*NEW:   Restrict data input by using validation rule for input-mask fields ( CauseValidateValue and Editor.Mask )
*Added: The Editor.Mask property supports "invalid=value" ( in forth part of the Imput-Mask ), which indicates the html message to be displayed when the user enters an inappropriate value for the field. If the control's CauseValidateValue property is not exNoValidate and value of the invalid keyword is not empty, the field is keep opened until the user enters an appropriate value ( ValidateValue event is failed with the Cancel parameter on True ). If the value is single space, no message is displayed and the field is keep opened while the value is inappropriate. For instance, "!(999) 000 0000;;;invalid=The value you entered isn't appropriate for the input mask <b>'<%mask%>'</b> specified for this field." displays the message "The value you entered isn't appropriate for the input mask '...' specified for this field." tooltip once the user leaves the field and it is not-valid ( for instance, the field includes entities required and uncompleted ). The <%mask%> keyword in value, substitute the current mask of the field, while the <%value%> keyword substitutes the current value ( including the literals ).
*Added: Ability to change/define the default mask for the ColorType field, using the Editor.Mask property. For instance, if the Editor.Mask property is "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0", the colors are displayed/edited in RGB format.
*Added: The default mask for the ColorType field is "`&H`XXXXXXXX`&`;;0;overtype,insertype", which shows color using ABGR/RGBA format

11.0.0.5 Mar 28, 2016
*Added: The Editor.DropDownAlignment property aligns the drop down portion too. The valid values are 0(right,left), 1(right,center), 2(right,right), 16(center,left), 17(center,center), 18(center,right), 32(left,left), 33(left,center) and 34(left,right), where the first element in the pair indicates the drop down alignment, while the second indicates the, caption's alignment. For instance, the Editor.DropDownAlignment on 33, indicates that the drop down portion of the field shows aligned to the left, and the inside items shows the caption aligned in center. 
*Added: Editor.Option(exDropDownBackColor) and Editor.Option(exDropDownForeColor) specify the background and foreground colors to show items in a drop down editor.
*Fixed: The Editor.DropDownAlignment property specifies the alignment of the days in a DateType editor (Editor.DropDownAlignment property has no effect for a DateType editor)
*Fixed: Prevents showing the today date in a DateType editor on the NewValue parameter of the ValidateValue event if the CauseValidateValue property is True.
*Fixed: "Visual C++ Runtime Error!" occurs if using the <fgcolor> or <bgcolor> with no indicating the color. Correct is <fgcolor RRGGBB>, instead <fgcolor>

11.0.0.4 Feb 22, 2016
*Added: Ability to specify the mask's value with or without literals. For instance, having (####) ###-###, the mask field is completed if setting 0123456789, (0123)456789, (0123) 456 789, or (0123) 456-789, and so on
*Added: Invokes the ValidateValue/Change event when the user presses the Enter key or selecting a new value from the drop down, if the CauseValidateValue property is set
*Fixed: Sometimes, the DateType, MemoDropDownType, ColorType, CalculatorType, FontType, PictureType editors require clicking twice to reopen the drop down portion.
*Fixed: The tooltip's appearance is not updated for Editor.ItemToolTip property (Background(exToolTipAppearance) property)
*Fixed: Typing characters on a caret field editor is delayed, if the CauseValidateValue property is not exNoValidate. 

11.0.0.3 Dec 14, 2015
*NEW:   Major/Radical improvements for input-mask fields.
*Added: New special characters for the Editor.Mask property as follows # 0 9 x X A a L ? & C > < * {,} [-] \ !    . Characters enclosed in double quotation ("" or ``) marks will be displayed literally. For instance, the Editor.Mask on "`Prefix: `(###)", displays Prefix: (___).
*Added: CTRL + A, selects all text in caret-type editor.
*Added: Advances to the next field if the current entity is a number, and there is no other possibility. For instance, having the input mask such as "{0,23}:{0,59}:{0,59}", and user types 12, the cursor is advanced to the next field automatically.
*Added: The mask editor selects the entity from the cursor, when user double clicks it. For instance, having the "10:20", clicking the 2 will highlight 20, instead the entire text

11.0.0.2 Oct 19, 2015
*Added: The HTML tags are case insensitive, so the < b > is equivalent with < B >
*Added: </solidline>, </upline>, </dotline> HTML tags ends the solid, up or dotted line
*Added: Prevents showing the ,.;!?'")}] characters at the beginning of a new line, when html text is word-wrapping.
*Fixed: The last italic character of a HTML caption may be shown as clipped
*Fixed: The SaveXML method does not save the node's value, if node was previously loaded using <node>value</node> XML format

11.0.0.1 Sep 29, 2015
*NEW:   /NET Version
*NEW:   Subscript and Superscript implementation in HTML captions, using the <off> HTML tag
*Added: <off>, </off> built-in HTML tags defines the vertical offset to display the element, relative to the current position. This tag is inheritable. The <off pixels>, where, pixels indicates the vertical offset to be applied ). For instance, the following text displays a text with Subscript and Superscript such as: "Text <off 4>with subscript</off> <off -4>and superscript</off> support"
*Added: The <fgcolor=0000FF> and <fgcolor FF>, or <bgcolor=00FF00> and <bgcolor FF00>, so no = or full 6 hexa-digits are required to define the color to be applied
*Fixed: The <font> HTML tag is not overwritten when using inside another <font> tag
*Fixed: The parts of the line with different fonts in the HTML caption are vertically aligned ( instead aligning to the font's baseline ) if the line displays a picture or an icon using the <img> HTML tag.

10.0.0.1 Sep 23, 2015
*NEW:   New text decorations support for HTML captions, like outlined characters, shadow, ....
*Added: <gra>, </gra> built-in HTML tags define a gradient text ( the <gra> supports color, mode and blending, like <gra rrggbb;mode;blend>, where, rr/gg/bb represents the red/green/blue values of the ending color, 808080 if missing as gray, mode a value between 0 and 4, 1 if missing, and blend 0 or 1, 0 if missing )
*Added: <out>, </out> built-in HTML tags define a text to show with outlined characters ( the <out> supports color and width, like <out rrggbb;width>, where rr/gg/bb represents the red/green/blue values of the outline color, 808080 if missing as gray, width indicates the size of outline, 1 if missing.
*Added: <sha>, </sha> built-in HTML tags define a text with a shadow ( the <sha> supports color, width and offset, like <out rrggbb;width;offset>, where rr/gg/bb represents the red/green/blue values of the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing.
*Added: Increases the performance of parsing HTML captions.

9.0.0.1 May 25, 2015
*NEW:   Support for EBN 1002 version.
*Added: The EBN 1002 allows using skin objects with horizontal, vertical stretch and colorable/not-colorable parts of the EBNs.
*Added: Ability to use or load PNG, TIFF or WMF picture on the control's background ( Picture property for /COM version ) , using the LoadPicture predefined function of the Template property. For instance, the [.Template = "Picture = LoadPicture(`E:\picture.png`)"] OR [.Picture = .ExecuteTemplate("loadpicture(`E:\picture.png`)")] loads the PNG picture on the control's background.
*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 )

8.0.0.1 Feb 26, 2015
*Added: Parameters By Reference support for x-script ( Template, ExecuteTemplate property of /COM version )
*Fixed: Can't scroll the control if touching with fingers the buttons of the scroll bar.
*Fixed: A Click event occurs right after DblClick event.

7.0.0.1 May 28, 2014
*NEW:   Windows 8.1 64-bit compatibility
*Added: The /COM 64-bit version is compatible with Microsoft Office Applications: Excel 2013, Access 2013,...
*Fixed: Can't insert new lines when user the presses the Enter key on a field of MemoType, in MS Access

6.1.0.1 Jun 26, 2013
*Fixed: MS Access plays a beep, when the user presses the Backspace key on a edit type field.
*Fixed: In MS Access, can't use the CTRL+F4 key to close the current form.

6.0.0.4 Oct 03, 2012
*Added: "Property let procedure not defined and property get procedure did not return an object" runtime-error '451' occurs in VB if calling to assign a picture using its reference when using the Set .HTMLPicture statement.
*Added: The Template or ExecuteTemplate properties may contain several commands separated by ; not only cariage returns. For instance the Template = "dim p;p=CreateObject(`Exontrol.Print`);p.PrintExt=Me;p.Preview()" calls the exontrol's eXPrint to open the contrl's print and print preview.
*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 handle the F2 key.

6.0.0.3 June 05, 2012
*Added: The /COM version can be dropped to the eXPropertiesList control as an object.
*Added: Appearance.RenderType property specifies the way colored EBN objects are displayed on the component. For instance use the RenderType on -3 (0xFFFFFFFD), no color is applied, -2, for OR-color scheme (0xFFFFFFFE), -1 (0xFFFFFFFF) for AND-color scheme, ( older EBN color schemes ). The RenderType property is 0 by default, which indicates an A-color scheme. The first significant byte indicates the transparency while the other bytes indicates the RGB value.
*Fixed: Removes the tooltip's shadow if time to show the tooltip is less than 250 ms, as on Windows 7, the tooltip may be displayed slower.

6.0.0.2 May 09, 2012
*NEW:   Ability to specify any COLOR for the control's frame/border/appearance if using EBN objects.
*Added: The Appearance property may specify any color to apply the EBN object to define the control's border. In other words, you can define the color and the visual aspect of the control's border/appearance.
*Added: The Background(exToolTipAppearance) property may specify any color to apply to tooltip's EBN so the control's tooltip can be shown using different colors.

6.0.0.1 Mar 13, 2012
*NEW:   Ability to specify ANY color to an EBN object, so you can use one EBN object to display it in any nuance, without embossing the shape and look of the EBN ( including transparent regions, and so on )
*Added: Significant improvements for control's performance while using a large number of EBN objects.
*Added: The EBN can be displayed using ANY color ( not only FF for rgb ). For instance, 0x1A88A5D indicates that EBN with the identifier 1 is displaying in Air Force blue color (#5D8AA8).
*Fixed: Printing the control with thousand of EBN objects may increase the GDI handles indefinitely.

5.1.0.3 Jan 25, 2012
*Added: The Event( EventID) event occurs once the control fires an event (available for /COM version only)
*Fixed: "Error executing code: FormActiveXControl (data source), method ... called with invalid parameters" on Dynamics AX environment is fired, if the application handles events with parameters passed by reference. On X++ you should use the Event event and EventParams method to handle this exception. The X++ is not able to handle the events with parameters passed by reference.
*Fixed: Extra characters are inserted in the next line if the breaking element is a picture that does not fit the current line.
*Fixed: Ignores the ending HTML tags, if they are not used previously ( for instance, the < /b > is not displayed in the sequence "ABC< /b >" )

5.1.0.2 Nov 11, 2011
*NEW:   Inheritance for HTML attributes on multiple line ( for instance, the < b > is inherited on multiple lines, until the < /b > tag is found)
*NEW:   The < font > or < img > can change the height of the HTML line, so HTML captions can display lines with different heights.
*Added: The HTML captions allow using not-nested elements to be used. (for instance the sequence "< b >1< s >23< /b >4< /s>" displays 123 in bold while the 234 are shown in strikeout )
*Added: The < c > HTML tag centers the line. Similar with < r > HTML tag.

5.1.0.1 Oct 12, 2011
*NEW:   PNG support for picture properties.
*Added: PNG, TIFF, EXIF or WMF image format support.
*Added: The Button parameter of MouseMove event can be 4 which indicates that the middle mouse button ( wheel button ) is pressed.
*Fixed: Changing the ShowImageList property in design mode fails, if the component is hosted in a VC++ 2005, 2008 and 2010 application ( available for /COM only ).

5.0.0.4 Oct 07, 2010
*Added: EditorOptionEnum.exSliderTickFrequency options gets or sets the interval between tick marks slider types.
*Fixed: The user ca not change the node's slider if "Switch primary and secondary buttons" is checked.
*Fixed: The scroll bar's thumb position is not updated while scrolling using the mouse.

5.0.0.3 Jul 01, 2010
*Added: Changing the way the colors are being applied to EBN objects.
*Added: Updates the visual aspect of the control's tooltip based on the current theme, if active, and not using EBN object for its appearance.
*Fixed: Rarely, right clicking while dragging the thumb ( left button is still pressed ) of the scroll bar fires an access violation.
*Fixed: The IDE flickers when the component is placed on a form, due ShowImageList property that creates a hidden top-most window, to store the icons.

5.0.0.2 Apr 15, 2010
*NEW:   Ability to change the parameters passed by reference of the control's events for environments that does not support events with parameters by reference, such as uniPaas 1.5 (formerly known as eDeveloper), DBase, and so on
*Added: EventParam() property accesses a specified parameter of the current event. This property has effect only during an event, and can be used to change or retrieve a specified parameter of the current event
*Added: EventParam(-1) retrieves the number of parameters that can be accessed.
*Fixed: The path to load pictures from, is limited to 127 characters. 

5.0.0.1 Jan 12, 2010
*Added: Compatible with the Data Execution Prevention (DEP). (SpecialBuild:5000)
*Added: 64-bit support
*Fixed: The drop down window may appear in a different monitor, if negative coordinates are used for monitors ( for instance, the second monitor is to the left of the primary monitor.
*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

4.1.0.1 Aug 07, 2009
*Added: Fade effect for browsing a new date in a date type editor.
*Added: The Template feature supports hexa values being specified using format 0x prefix.
*Fixed: On Windows XP skinned objects ( EBN objects ) are not shown on virtual printers such as PDF, and so on.
*Fixed: The Editor.AddItem method fails once an uninitialized string is passed.

4.0.0.4 April 18, 2008
*Added: ScrollPartCaptionAlignment property specifies the alignment of the caption in the part of the scroll bar.
*Added: The HTML captions handles the glyph characters as follows: & ( & ), < ( < ), > ( > ), &qout ( " ), &#number. For instance, the € displays the EUR character, in UNICODE configuration. The & ampersand is only recognized as markup when it is followed by a known letter or a `#' and a digit.
*Added: The x-script supports dates as #12/31/2007 10:00# indicates the December 31, 2007, 10:00

4.0.0.3 March 24, 2008
*Added: OleEvent.ToString property retrieves information about the OLE event, including the name, parameters and values.
*Added: OleEvent.ID property retrieves a long expression that indicates the identifier of the OEL event being fired.
*Fixed: The MouseUp/RClick event ( instead MouseDown event ) is fired when the user presses the right mouse button, while the control is in edit mode.
*Fixed: The user can't paste numbers to a float editor in UNICODE version.

4.0.0.2 February 25, 2008
*Fixed: A VARIANT parameter passed by reference during OleEvent event can not be changed.
*Fixed: The data can't be drag and drop if your mouse buttons configuration in the Control Panel is for Left-Handed.
*Fixed: Locates the closest position where the typed character can be inserted, in a MaskType editor.

4.0.0.1 January 31, 2008
*NEW:   Ability to change the visual appearance of the control's borders using skins, including transparent areas or round borders too.
*Added: Appearance property specifies a predefined border for the control, or a color expression whose last 7 bits in the high significant byte of the value indicates the index of the skin in the Appearance collection, being displayed as control's borders. For instance, if the Appearance = 0x1000000, indicates that the first skin object in the Appearance collection defines the control's border.
*Added: Background(exToolTipAppearance) property specifies the visual appearance of the tooltip's borders. For instance, if the Background(exToolTipAppearance) = 0x2000000, indicates that the second skin object in the Appearance collection defines the tooltip's border. 
*Added: Background(exToolTipBackColor) property indicates the tooltip's background color, if this is not 0. By default, the system indicates the tooltip's background, while the Background(exToolTipBackColor) property is 0.
*Added: Background(exToolTipForeColor) property specifies the tooltip's foreground color, if this is not 0. By default, the system indicates the tooltip's foreground color, while the Background(exToolTipForeColor) property is 0.

3.1.0.5 October 08, 2007
*Added: AnchorFromPoint(X,Y) retrieves the identifier anchor from the cursor
*Added: ShowToolTip( ToolTip, Title, X, Y ) shows the tooltip at specified coordinates
*Added: ToolTipWidth property specifies a value that indicates the width of the tooltip window, in pixels.

3.1.0.4 August 08, 2008
*NEW:   Ability to insert <a> anchor elements in HTML captions.
*Added: <a id;options> (anchor) built-in HTML element is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.
*Added: The AnchorClick( AnchorID, Options ) event notifies whether the user clicks an anchor HTML element.
*Added: FormatAnchor property specifies the visual effect for anchor elements.

3.1.0.3 July 09, 2007
*Added: <font face;size> built-in HTML tag that specifies the font and the size to draw a portion of text until </font> is found. 
*Added: Adds more accurate icons when you drag files to the control's images panel
*Added: ExecuteTemplate property retrieves a Variant value, instead of a String, so it can returns Objects too. For instance, you can use the EXPRINT.PrintExt = CONTROL.ExecuteTemplate("me") to print the control's content
*Fixed: Tab characters display square characters

3.1.0.2 April 05, 2007
*NEW:   Ability to re-arrange the buttons in the scrollbar
*Added: ScrollOrderParts(ScrollBar) property. Specifies the order of the buttons in the scroll bar.

3.1.0.1 February 02, 2007
*NEW:   Ability to apply skins on the control's scrollbars
*Added: ScrollButtonClick event. Occurs when the user clicks a button in the scrollbar.
*Added: ScrollPartVisible property. Indicates whether the specified scroll part is visible or hidden.
*Added: ScrollPartEnable property. Indicates whether the specified scroll part is enabled or disabled.
*Added: ScrollPartCaption property. Specifies the caption being displayed on the specified scroll part.
*Added: ScrollToolTip property. Specifies the tooltip being shown when the user moves the scroll box.
*Added: ScrollFont property. Retrieves or sets the scrollbar's font.
*Added: ScrollButtonWidth property. Specifies the width of the button in the horizontal scrollbar.
*Added: ScrollButtonHeight property. Specifies the height of the button in the vertical scrollbar.
*Added: ScrollWidth property. Specifies the width of the vertical scrollbar.
*Added: ScrollHeight property. Specifies the height of the horizontal scrollbar.
*Added: ScrollThumbSize property. Specifies the size of the thumb in the scrollbar.

3.0.0.2 December 15, 2006
*NEW:   Built-in Load and Save XML methods
*Added: LoadXML method loads an XML document from specified location.
*Added: SaveXML method saves an XML document to specified location.
*Added: Nodes.ItemByPosition property. Retrieves the item giving its position.

3.0.0.1 November 16, 2006
*NEW:   Customizable Windows XP Theme support
*Added: Ability to display parts of current Windows XP theme.
*Fixed: EditorOptionEnum.exCalcButtons property uses the ';' character to separate buttons, instead ',' character, so if the decimal symbol is ',' the buttons are separated ok.

2.0.0.8 November 04, 2006
*NEW:   Ability to load and display custom size pictures to HTML captions.
*Added: HTMLPicture property. Adds or replaces a picture being used in the HTML captions.
*Added: <img> built-in tag supports pictures. For instance, the <img>pic1</img> displays the pic1 picture being loaded using the HTMLPicture("pic1")
*Added: ExecuteTemplate property, runs a template and retrieves a value of the variable in the template.

2.0.0.7 October 24, 2006
*NEW:   Ability to define the visual appearance for the editor's spin control.
*Added: BackgroundPartEnum.exSpinUpButtonUp, specifies the visual appearance for the up spin button when it is not pressed.
*Added: BackgroundPartEnum.exSpinUpButtonDown, specifies the visual appearance for the up spin button when it is pressed.
*Added: BackgroundPartEnum.exSpinDownButtonUp, specifies the visual appearance for the down spin button when it is not pressed.
*Added: BackgroundPartEnum.exSpinDownButtonUp, specifies the visual appearance for the down spin button when it is pressed.
*Added: The SpinType editor increases or decreases the date if the cell displays a date.

2.0.0.6 September 27, 2006
*Added: The AllowedEffects parameter is set on 1 (exOLEDropEffectCopy) , if the AllowedEffects parameter is 0 and the user calls the SetData property of the ExDataObject object during the OLEStartDrag event. The Q253282 (Changes to ByRef Parameters in Script Event Handlers Are Not Passed to Controls) expalins why on VBScript, the new value of the AllowedEffects parameter is not passed to the control.
*Added: The SpinType editor increases or decreases the date if the cell displays a date.
*Fixed: The UserEditorOleEvent event is not fired, if there is no focused node.

2.0.0.5 June 28, 2006
*NEW:   Overtype Mode support, for EditType and MemoType editors.
*Added: EditorOptionEnum.exEditAllowOverType, specifies whether the EditType or MemoType editors supports overtype mode.
*Added: EditorOptionEnum.exEditOverType, Returns or sets a value that indicates whether the EditType or MemoType editor is running in insert or overtype mode.
*Fixed: On Windows XP, the comctl32 library is improperly released, if the application runs with a manifest file.

2.0.0.4 March 08, 2006
*Added: Improvements to the Template editor.
*Added: ExPrint 1.0.1.2
*Fixed: The KeyDown event is fired twice for drop down editors.

2.0.0.3 December 07, 2005
*NEW: Ability to insert icons anywhere in the cell's caption
*Added: < img >...< /img > HTML tag indicates the index of icon being inserted in the cell's caption. For instance, the < img >2< /img > displays the second icon in the cell's caption.
*Added: Keeps opened a text box field editor while pressing an arrow key.
*Added: Ability to use the arrow keys inside a MemoType editor, while the text is not fully selected.

2.0.0.2 August 29, 2005
*Added: Alt+Enter inserts a new line (only Shift+Enter) in a multi line edit field.
*Fixed: In MS Access, the Enter key advances to the next field, when a multiple line editor has the focus.
*Fixed: Pressing ESC doesn't undo changes made in a multi line edit fields.

2.0.0.1 June 14, 2005
*NEW:   Skinnable Interface support ( ability to apply a skin to any background part ) ( Check the VB\VC\...Template samples )
*Added: Appearance object. Defines a collection of skins.
*Added: VisualAppearance property. Specifies an object that defines the control's visual appearance.
*Added: Background property. Specifies a background color or a skin for different parts like drop down filter button, closing filter bar button and so on.
*Help:  Updated
*Help:  Adding VB, VC++, VB.NET, C# and VFP syntax in the help file.
*Fixed: Unable to select a color on the ColorType editor when the mouse is set for a left-handed.
*Added: VC\DragDrop sample

1.0.0.9 April 04, 2005
*Added: The control's Font property specifies the font for items in a drop down type editors like DropDownType, DropDownListType, CheckListType, PickEditType, ColorListType
*Added: Adjusts the height of the item into a drop down editor, based on the NodeHeight property.
*Added: Shows the drop dowp picture editor when user presses the ENTER key.
*Fixed: Aligns the values for the cells, when the edit operation starts,

1.0.0.8 February 12, 2005
*Added: If the CTRL key is pressed while rotating the mouse wheel, the control scrolls horizontally its content.
*UpD: 	VC samples

1.0.0.7 November 09, 2004
*NEW:   ExpandBar support
*Added: ExpandBarVisible property. Specifies whether the control's expand bar is visible or hidden.
*Added: HitTestEnum.exHTExpandBar. On the control's expand bar

1.0.0.6 November 04, 2004
*Added: VB\UNICODE sample

1.0.0.5 October 25, 2004
*Added: Displays the week number compatible with ISO8601 format, in a DateType editor.

1.0.0.4 September 8, 2004
*Added: Sample\VC\Virtual.MS.Load.XML sample. Loads XML files using threads, without hanging the UI.

1.0.0.3 September 7, 2004
*Added: Editor.Option( exDateWeeksHeader ). Sets or gets a value that indicates whether the weeks header is visible or hidden in a drop down date editor.
*Fixed: The KeyDown, KeyUp events pass ENTER key by value, not by reference.

1.0.0.2 August 19, 2004
*NEW:   Calculator editor type
*Added: EditTypeEnum.CalculatorType editor. Provides calculator features to a node.
*Added: Editor.Option(exCalcExecuteKeys) property. Specifies whether the calculator editor executes the keys while focused and the drop down portion is hidden.
*Added: Editor.Option(exCalcCannotDivideByZero) property. Specifies the message whether a division by zero occurs in a calendar editor.
*Added: Editor.Option(exCalcButtonWidth) property. Specifies the width of the buttons in the calculator editor.
*Added: Editor.Option(exCalcButtonHeight) property. Specifies the height of the buttons in the calculator editor.
*Added: Editor.Option(exCalcButtons) property. Specifies buttons in a calendar editor.
*Added: Editor.Option(exCalcPictureUp) property. Specifies the picture when the button is up in a drop down calendar editor.
*Added: Editor.Option(exCalcPictureDown) property. Specifies the picture when the button is down in a drop down calendar editor.

1.0.0.1 July 5, 2004
* Initial Release