exbutton - what's new
23.0.0.1 Feb 28, 2024
*NEW:   Expandable-captions support, or ability to expand/collapse the captions using HTML tags such as <a id;exp=text> or <a id;e64=encode64>
*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.
*Fixed: The control can't display & glyph characters such as & ( & ), < ( < ), > ( > ),  &qout; ( " ) and &#number; For instance, € displays #8364 instead of EURO symbol

22.0.0.3 Dec 13, 2023
*Added: The control's tooltip is shown when the cursor hovers it no matter if the window that hosts the control is activated
*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
*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)

22.0.0.2 Jun 12, 2023
*Fixed: Prevents beeping if ENTER, ESCAPE or CTRL + A key is pressed in X, Y, CX or CY fields
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet
*Fixed: The AttachTemplate method fails if using "handle" keyword on x64 version

22.0.0.1 Jan 09, 2023
*NEW:   Ability to specify the size to show the icons within the control
*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. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. For instance, if the ICO file to load includes different types the one closest with the size specified by ImageSize property is loaded by Images method. The ImageSize property does NOT change the height for the control's font.
*Added: Update the samples to support x64 configuration (/COM version)

21.0.0.3 Dec 19, 2022
*Added: In skin-designer, the markers for focused-object are visible while the "Draw grid lines" button is pressed
*Added: CTRL + A, selects the entire text in X, Y, CX or CY fields
*Fixed: The focus of the X, Y, CX or CY fields is lost once the user presses the Enter key

21.0.0.2 Sep 07, 2022
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*Fixed: Clicking (Custom) property generates "Class Not Registered" error (Windows x64, 'Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}')
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method

21.0.0.1 May 04, 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 

20.0.0.2 Feb 21, 2022
*Added: PowerBuilder 21.0 sample
*Fixed: The BackColor/ForeColor properties of the /NET version are not copied in design mode, when the user copies the control in design-mode using CTRL + C (copy) and CTRL + V (paste) combination
*Fixed: The control's tooltip stop showing once it goes away after 5 seconds

20.0.0.1 Mar 22, 2021
*Added: Sets or gets the control's Font property in design mode, for the /NET version
*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 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)

19.0.0.1 Jan 11, 2021
*Added: ExButton.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

18.0.0.1 Sep 17, 2020
*Added: The cursor is a pointer (as it would indicates a link) if the MousePointer property is 16
*Fixed: No mouse pointer is displayed while cursor hovers the control, if the MousePointer property is 99, and MouseIcon points to a picture object (ICO file)

17.0.0.1 May 25, 2020
*Fixed: FormatAnchor(False) = vbNullString fails (vbNullString is a special VB constant that denotes a null string. The "" literal is an empty string)

16.0.0.2 Aug 05, 2019
*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.

16.0.0.1 Jun 04, 2018
*NEW:   Ability to executes x-script code ( including events ), from a string, file or a safe array of bytes. This feature allows you to load the control's visual appearance and behavior, without having to write any line of code. The x-script code can save EBNs, icons, pictures into BASE64 encoded strings, and so everything can be put into a single file, that should be invoked by AttachTemplate method. This feature allows you to run any x-script code for any configuration of the component (/COM, /NET or /WPF). 
*Added: AttachTemplate method executes the giving x-script code, and attach events if found. The x-script code can contain handle keyword that defines a handler for the specified event. For instance, the AttachTemplate("handle Click() { print(Version) }") sends the control's Version property to the debugger for display. All you need is to open the DebugView tool, and click the control.
*Added: The control's Template page supports AttachTemplate so you can assign x-script code ( including events )  in design mode, and so the control's visual appearance and behavior is changed once the control is created at runtime (/COM version only). 
*Fixed: Prevents "Do you want to save ..." / "Save changes...' input box, when the user opens the form in design mode, and close it.

15.0.0.1 Aug 07, 2017
*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. 
*Added: The Version property includes the SpecialBuild number of the assembly so it provides information like Major.Minor.Build.Revison.SpecialBuild.Type...

14.0.0.3 Dec 28, 2016
*Fixed: A GPF may occur if the application is started from design mode ( demo / evaluation / trial version only )
*Fixed: Prevents a memory leak when loading icons, pictures, from BASE64 encoded strings (Images method, HTMLPicture picture).

14.0.0.2 Aug 26, 2016
*Added: ExEBN Tool ( standalone tool ) for /COM or /NET version, that helps you to view or edit EBN files
*Added: The Handle parameter of Images method can be a string that specifies the ICO file to be loaded. The ICO file format is an image file format for computer icons in Microsoft Windows. ICO files contain one or more small images at multiple sizes and color depths, such that they may be scaled appropriately. For instance, Images("e:\working\sync.ico") method  adds the sync.ico file to the control's Images collection.
*Fixed: Prevents showing the control's view in design mode, while running on FORTH system ( /COM version )
*Fixed: The object's background is shown for a not-colorable object ( that shows a picture with transparency-colors ), when a color is applied to the entire EBN object (EBN 1002)



14.0.0.1 May 11, 2016
*NEW:   Implementation of EBN 1004 file version ( DPI-Aware support ).
*Added: The exClientExt attribute of the EBN/BackgroundExt/BackgroundExtValue supports DPI values, if the number is followed by a D character. For instance, if the DPI scaling is 100%, the 16d is 16, while for a 150% DPI scaling, the 16d is 24. In other words, "top[4,back=RGB(0,0,255)]", draws a blue line on the top side of the object's background, of 4-pixels wide, no matter of DPI scaling, while "top[4D,back=RGB(0,0,255)]", draws the line of 4-pixels wide if DPI scaling is 100%, or 6-pixels wide if DPI scaling is 150% )
*Added: The X, Y, CX, CY fields of the object that composes the EBN file, supports DPI values, if the number is followed by a D character. For instance, if the DPI scaling is 100%, the 16d is 16, while for a 150% DPI scaling, the 16d is 24. In other words, "top[4,back=RGB(0,0,255)]", draws a blue line on the top side of the object's background, of 4-pixels wide, no matter of DPI scaling, while "top[4D,back=RGB(0,0,255)]"
*Added: VC\Builder.DPI runs the WYSWYG Builder as DPI-Aware application
*Fixed: Sometime, a message box is shown when running the /NET assembly.

13.0.0.2 Mar 07, 2016
*NEW:   Ability to show the HTML caption vertically, or mirrored.
*Added: Rotate property rotates the HTML caption. For instance,  Rotate property on exHTMLVertical, displays vertically the HTML control from the left-bottom to the top-right, while the exHTMLVertical or exHTMLMirror, displays vertically the HTML control from top-right to left-bottom 
*Fixed: The button's State property may be keep on exHot, while the mouse leaves quickly the button
*Fixed: "Attempted to read and write protected memory" exception may occur when using the eXButton/NET assembly on VS 2008

13.0.0.1 Jan 06, 2016
*NEW:   Implementation of EBN 1003 file version.
*Added: Colorable Region Support which defines a portion/region of the EBN object where the color of the EBN is applied. For instance, at runtime the identifier 0x1FF0000 applies blue color to all colorable parts that compose the EBN object. The EBN color is not applied to not-colorable portions of the EBNs (EBN 1003).
*Added: The Colorable Region Start and Colorable Region End buttons are available for the EBN Builder tool in the Background/Picture panel. The Colorable Region is defined by all points with the color between Start and End values (EBN 1003).
*Added: The Background\Picture panels marks transparent-region with greeen color, while the colorable-region with black color.
*Added: Keep the SHIFT while clicking the Test button on the EBN Builder, and you get the test window with a color applied, in the following order: red, green, blue, ...

12.1.0.2 Nov 02, 2015

*Added: The Version property for /NET version returns more information about the component/assembly/file.
*Fixed: The button can't be clicked once another button that overlaps the current button it is hidden.
*Fixed: An ICO file shows as 18x18 instead of 16x16 pixels if it is loaded using the HTMLPicture method.

12.1.0.1 Jul 15, 2015
*NEW:   Ability to place a resizable-picture on the button's face
*Added: The Picture property specifies the picture object to be loaded and displayed on the button's face. Previously, the Picture property put the picture on the control's background.
*Added: The PictureDisplay property specifies the way the picture is displayed on the button's face
*Added: Ability to use or load PNG, TIFF or WMF picture on the button's face ( 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 button's face.

12.0.0.2 Jun 01, 2015
*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: Sometimes, I can't get the Click event when the user touches the capacitive screen.
*Fixed: The button stays in pressed-stated once the user double-clicks the button

12.0.0.1 Mar 18, 2015

*Added: Allow using the <c> and/or <r> HTML tags in the control's Caption property.
*Fixed: The last italic character of a HTML caption may be shown as clipped
*Fixed: Allows using the hot state for button-mode only ( AllowHotState, Mode property is exButton )

11.0.0.1 Jan 07, 2015
*Added: Keeps the button's hot state once the user releases the mouse over the control.
*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.

10.0.0.1 Aug 20, 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, ...

9.0.0.2 May 12, 2014
*Added: Displays the index of the object that composes the EBN object, in the right part of the list that displays all the containing objects.
*Added: Draws the grid lines for all objects that compose EBN object.
*Fixed: "Visual C++ Runtime Error!" occurs if using the <fgcolor> or <bgcolor> with no indicating the color. Correct is <fgcolor RRGGBB>, instead <fgcolor>

9.0.0.1 Feb 06, 2014
*NEW:   Unlimited options to show any HTML text, images, colors, EBNs, patterns anywhere on the object's background. Ability to draw additional EBN/Color/Text/Patterns/Images on the object, using the EBN String Format (create and run at runtime EBN objects)
*Added: BackgroundExt property indicates additional colors, text, patterns, images that can be displayed on the object's background using the EBN string format. For instance, BackgroundExt = "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 object. The BackgroundExt = "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 object (10%+12 pixels-wide from the object's client area). The BackgroundExt property on "[pattern=6]" displays pattern on the object's background, like 
*Added: BackgroundExtValue(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 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 
*Added: 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.
*Added: BackgroundExt samples
*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)

8.2.0.3 Ian 16, 2014
*Added: Improvements for EBN Builder Tool
*Added: Enlarges the fields for position and size of the objects in the EBN builder.
*Added: Ability to resize the objects/layout panel using a vertical splitter.

8.2.0.2 Nov 17, 2013
*Added: *Added: Displays the EBN file version when files are shown as thumbnails in Windows Explorer (EBN 1002)
*Added: The HTML tags are case insensitive, so the < b > is equivalent with < B >
*Added: VC\Builder\Builder.exe tool can be associated with EBN files in Windows Explorer, so double click any EBN file runs the EBN builder by loading the EBN file.

8.2.0.1 Oct 21, 2013
*NEW:   Implementation of EBN 1002 file version.
*NEW:   Ability to stretch horizontally or vertically the picture on the object's background ( EBN 1002 ).
*NEW:   Ability to specify parts of the EBN object to be not-colorable ( EBN 1002 ).
*Added: (Builder) Background\Picture\Horizontal Stretch. Stretches horizontally the picture on the object's background, and tiles vertically the rest. ( EBN 1002 )
*Added: (Builder) Background\Picture\Vertical Stretch. Stretches vertically the picture on the object's background, and tiles horizontally the rest. ( EBN 1002 )
*Added: (Builder) Colorable button. The selected object is colorable, which means that the EBN color is applied to this part when the color is applied to the entire EBN object. For instance, at runtime the identifier 0x1FF0000 applies blue color to all parts that compose the EBN object, including the selected object. ( EBN 1002 )
*Added: (Builder) Not-colorable button. The selected object is not-colorable, which means that the EBN color is not applied to this part when the color is applied to the entire EBN object. For instance, at runtime the identifier 0x1FF0000 applies blue color to all parts that compose the EBN object, excluding the selected object. ( EBN 1002 )
*Update: EBNColor tool, supports EBN 1002 (http://www.exontrol.com/free.jsp)

8.1.0.4 Aug 14, 2013
*Added: Reset the button's file name when pasting the EBN using the Load64 button
*Fixed: Prevents showing the message "The selected picture has been copied to your clipboard." when the selected picture is copied to the clipboard, using the Background\Picture\Copy To Clipboard command
*Fixed: Prevents intersection of rulers when loading a new picture from the clipboard, using the Zoom\Settings\Cut - Paste Picture From Clipboard command
*Fixed: Removes dependency to MFC80.DLL of the VC\Builder\Builder.exe tool ( EBN Builder )

8.1.0.3 Jun 12, 2013
*Added: Accelerator keys for Create New ( CTRL + N ), Load ( CTRL + O ), Save (CTRL + S ), Test (CTRL + R) commands
*Added: Ability to change the element's position up or down in the EBN builder, using the CTRL + Up or CTRL + Down.
*Added: Allow drag and drop EBN files from the Windows Explorer to EBN builder.
*Fixed: Prevents erasing the current object, when pasting a non-valid BASE64 encoded EBN object, using the Load64 button.

8.1.0.2 Apr 24, 2013
*NEW:   Undo/Redo Support for operations in the EBN Builder.
*Added: The Undo command (CTRL+Z), erases the last change done to the document reverting it to an older state.
*Added: The Redo command (CTRL+Y), reverses the undo or advances the buffer to a more current state
*Fixed: Sometimes, clicking the Load64 buttons generates a GFP.

8.1.0.1 Mar 04, 2013
*Added: Radical improvement of the EBN builder.
*Added: Background\Picture\Zoom Factor\Auto allows scaling the current picture to full-fit the picture panel.
*Added: Ability to zoom/shrink the part from the cursor in the Background\Picture panel while rotating the mouse wheel ( Click the Background\Picture panel, and rotate the mouse wheel to shrink or magnify the portion from the cursor ).
*Fixed: In UNICODE version, the Save64 button generates single character strings.

8.0.0.1 Jan 23, 2013
*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 elemenet, 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.

7.0.0.2 Nov 19, 2012
*Added: Increases the performance of parsing HTML captions.
*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: Initial's Font Value is Arial, instead of MS Sans Serif ( required by HTML text decorations )

7.0.0.1 Aug 27, 2012
*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.

6.1.0.3 Apr 02, 2012
*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.
*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.
*Fixed: The control's Picture is not being displayed if the UseTransparency property is True

6.1.0.2 Dec 13, 2011
*Added: The Template or ExecuteTemplate properties may contain several commands separated by ; not only cariage returns.
*Added: The /COM version can be dropped to the eXPropertiesList control as an object.
*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.1.0.1 June 15, 2011
*Added: RenderType property specifies the way colored EBN objects are displayed on the component. For instance use the RenderType on -3, no color is applied, -2, for OR-color scheme, -1 for AND-color scheme, ( older EBN color schemes ). The RenderType property is 0 by default, which indicates an A-color scheme.
*Added: Shows the pictures in the control as grayed, if the Enabled property is False ( the control is disabled )
*Fixed: The get_HTMLPicture property gets empty object on the /NET version.

6.0.0.2 May 09, 2011
*Added: Focusable property gets or sets a value that indicates whether the control can receive focus.
*Added: By default, the UseTransparency property is True.
*Fixed: Ignores the ending HTML tags, if they are not used previously ( for instance, the < /b > is not displayed in the sequence "ABC< /b >" )
*Fixed: Extra characters are inserted in the next line if the breaking element is a picture that does not fit the current line.

6.0.0.1 Mar 07, 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. Simiar with < r > HTML tag.

5.2.0.1 Sep 09, 2010
*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: BackColor property of the control specifies the background color for the current style ( Style property ).
*Added: The control's background color is changed to disabled color (ForeColorState(exDisabled), when Enabled property is set on false.
*Fixed: The control's Caption is not displayed in design mode for VFP or Access enviroment.
*Fixed: Trasparency of the upper-right corner of the MAC style.

5.1.0.2 May 06, 2010
*NEW:   SkinV or FocusSkinV method reads EBN files from byte[] or safe arrays of VT_I1 or VT_UI1. In other words, you can add EBN files directly from resources and use them as .Skin(exNormal, Namespace.My.Resources.EBN) for vb/net or .Skin(exNormal, Namespace.Properties.Resources.EBN) for c#, where the EBN is the identifier in the resource for the EBN file.
*Fixed: The <br> HTML tag is ignored while the WordWrap property is False ( by default )
*Fixed: The user is not able to click the button if "Switch primary and secondary buttons" is checked.

5.1.0.1 Jan 25, 2010
*NEW:   PNG support for HTMLPicture, Image and so on.
*Added: PNG, TIFF, EXIF or WMF image format support.
*Fixed: Displays the first line of the HTML text, if it does not fit entirely the button.

5.0.0.5 Oct 26, 2009
*Fixed: Removes the Scroll event definition from the /NET assembly.
*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)
*Fixed: The /NET Assembly does not update at runtime the properties saved in design-mode.

5.0.0.4 July 23, 2009
*NEW:   Ability to display EBN objects on your device contexts or Graphics objects.
*Added: EBN_DRAW window message draws the EBN on specified device context. The wParam specifies the state of the EBN being shown, while the lParam parameter specifies the handle to the device context, where the EBN is painted. The GetClipBox( hDC ) determines the rectangle where the EBN file is being shown. The ::SendMessage( Button1.hWnd, RegisterWindowMessage( _T("EBN_DRAW") ), STATE,  HDC ) draws the EBN in STATE, on the device HDC.
*Added: The Template feature supports hexa values being specified using format 0x prefix.

5.0.0.3 June 17, 2009
*Fixed: The /NET assembly shows a black frame when the parent form changes its parent using the MDIParent property.
*Fixed: The associated ContextMenuStrip component is not shown when right clicking the /NET Assembly component.
*Fixed: The /NET assembly does not fire the MouseUp event when user releases the right mouse button.

5.0.0.2 May 14, 2009
*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.
*Added: "Replace From Clipboard" item in the builder's Picture menu replaces the selected picture with the clipboard.
*Added: "Copy To Clipboard" item in the builder's Picture menu 
copies the selected picture into the clipboard, so you can paste in drawing tool such as MSPaint, or any other.

5.0.0.1 March 26, 2009
*Added: 64-bit support
*Added: Signing the /NET Assembly with a strong name (AssemblyName.FullName: exontrol.exbutton, PublicKeyToken=e0a0f2f4525dc60b )

4.0.0.2 February 17, 2009
*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: Fire the StateChange event when Enabled property is set on False.

4.0.0.1 October 24, 2008
*Added: Compatible with the Data Execution Prevention (DEP). (SpecialBuild:5000)
*Fixed: The <img> tag does not display icons loaded using the Images method
*Fixed: The excel vba fires "Run-time error '28', Out of Stack space", when running an user-form. ( IQuickActivate )
*Fixed: The path to load pictures from, is limited to 127 characters. 

3.0.0.2 April 15, 2008
*Fixed: The control's can't display Thumbnails/Icons in Windows Vista 
*Fixed: The "OLE error code 0x80004001: Not implemented" when trying to insert the control to a VFP form

3.0.0.1 November 12, 2007
*NEW:   The Windows Explorer displays EBN files when Thumbnails is selected.
*Added: The Exontrol's eXButton is a shell extension that can displays the EBN files in your windows explorer view as thumbnails or icons too.
*Added: 291 EBN files.

2.0.0.4 September 12, 2007
*Added: Multiple improvements to selecting picture panel, in EBN builder, including zooming.
*Added: The Designer's 64 button loads from the clipbard a BASE64 string that encodes an EBN object.
*Added: The Designer's 64 button generates the BASE64 string that encodes the current EBN object, and copies it in the clipboard as text.

2.0.0.3 August 09, 2007
*Added: ToolTipFont property specifies the tooltip's font.
*Added: AnchorFromPoint(X,Y) retrieves the identifier anchor from the cursor
*Added: ToolTipWidth property specifies the width of the tooltip's window

2.0.0.2 June 13, 2007
*NEW:   Ability to insert <a> anchor elements in HTML captions.
*Added: <a id;tooltip> (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.

2.0.0.1 April 03, 2007
*NEW:   Creating EBN files quick and easy
*Added: Zoom\Settings\Load Picture loads a picture from a file, and apply each corresponding parts from the picture to the skin.
*Added: Zoom\Settings\Load Picture From Clipboard loads a picture from the clipboard, let the user select a portion of the picture from the clipboard, and apply each corresponding parts to the current skin. Use this options to create EBN files from portions of your screenshot.
*Added: You can specify the margins of the skin, by click and drag the margins in the Zoom window, and the skin is changed accordingly.
*Added: You can specify the transparent colors for parts of the skin, by click the point to be transparent in any part of the picture.

1.0.1.5 March 12, 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: ExecuteTemplate property retrieves a Variant value, instead of a String, so it can returns Objects too.
*Fixed: Tab characters display square characters

1.0.1.4 October 13, 2006
*Added: The "Add Picture From Clipboard" option of the control's Builder adds a picture from the clipboard to the properties browser, so it can be used in the current object.
*Added: ExecuteTemplate property, runs a template and retrieves a value of the variable in the template.

1.0.1.3 June 30, 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")

1.0.1.2 March 29, 2006
*NEW:   The Template supports calling multiple properties in the same line using the . (dot) separator.
*Added: <img>number[:width]</img> inserts an icon inside the button's caption. The number indicates the index of the icon being inserted. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels. 
*Added: Non-alphanumeric characters wraps HTML caption, not only space character.
*Added: Improvements to Template editor.

1.0.1.1 January 10, 2006
*NEW:   Rectangular or Round/Circular button support.
*Added: UseTransparency property. Specifies whether the control supports transparency. The transparent regions in the control's skin indicates the transparency. 
*Added: Round sample.

1.0.1.0 September 02, 2005
*NEW:   Ability to insert icons anywhere in the button's caption.
*Added: < img >...< /img > HTML tag indicates the index of icon being inserted in the button's caption. For instance, the < img >2</ img > displays the second icon in the button's caption.

1.0.0.9 July 22, 2005
*Added: The control works on eDeveloper container.
*Fixed: The control's shape is not shown in VFP container, on design mode, on design mode.
*Fixed: Reduces the number of GDI objects being used.

1.0.0.8 February 18, 2005
*Added: Image property can take IPictureDisp objects.

1.0.0.7 October 04, 2004
*Added: Initializes the TooltipText property in design mode.
*Fixed: The control fails when an external library destroys the control's form.

1.0.0.6 July 12, 2004
*Added: Handling the ALT (hot) keys.
*Fixed: Firing the Click event before firing the MouseUp event,

1.0.0.5 May 24, 2004
*Added: Improving the loading of multiple buttons of the same style
*Added: Reducing the number of GDI objects that the control uses when multiple instances are in the same process.

1.0.0.4 April 30, 2004
*NEW: Ability to display the hierarchy of objects that composes a skin in the control's WYSWYG designer.

1.0.0.3 April 21, 2004
*Added: StateChange event. Occurs when the button's state is changing.
*Added: Initializes the exDisabled state with the exNormal state.
*Added: Inheriting the form's font at init time.
*Fixed: Calling Skin and FocusSkin methods fail if the File parameter is NULL value.
*Fixed: The control fails, if the user calls Unload Me, during Click event

1.0.0.2 March 04, 2004
*Added: In VFP environment the control gains the focus, if it is hosted by a PageFrame control.
*Added: In VBA environment, the Visible property destroys the control, instead hiding it.
*Fixed: Correcting the focus rectange position if the ShowFocusRect property is True.

1.0.0.1 January 29, 2004
* Initial Release