exmaskedit - what's new

10.0.0.1 Oct 25, 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. 
*Fixed: Prevents "Do you want to save ..." / "Save changes...' input box, when the user opens the form in design mode, and close it.

9.0.0.1 Jun 12, 2017
*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 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.2 Dec 23, 2015
*Added: The Version property for /NET or /WPF version returns more information about the component/assembly/file.
*Fixed: The element'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 show message is shown on the debugger ( dbgview ), when the tooltip is about to be shown.

8.0.0.1 Oct 21, 2015
*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, ...
*Fixed: "Visual C++ Runtime Error!" occurs if using the <fgcolor> or <bgcolor> with no indicating the color. Correct is <fgcolor RRGGBB>, instead <fgcolor>

7.2.0.5 June 22, 2015
*NEW:   Leading-Zero support for masking floating points numbers.
*Added: Any 0 character in the Mask property indicates a leading-zero, if the MaskFloat property is True. The number of 0 characters before decimal character indicates the leading-zero for integer part of the control, while the number of zeros after decimal character indicates the leading-zero for decimal part of the control. For instance, -###,###,##0.00, and control's Text property is 1, the control displays 1.00, if 1.1 if displays 1.10, and if empty, the 0.00 is displayed.
*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.

7.2.0.4 Apr 08, 2015
*Added: AllowEmptyValue property specifies whether the mask field supports empty values. For instance, if the Invalid property is set to a not-empty value, and the AllowEmptyValue property is exAllowEmptyValueShowNothing, the user can leave the field if it is empty ( not completed ). If the AllowEmptyValue property is exAllowEmptyValueShowNothing the field displays nothing if no entity is completed ( empty ). Once the user starts typing characters the current mask is displayed. The exAllowEmptyValueShowMask option, shows the current mask all the time.
*Added: ValidateAs property indicates the additional validation is performed, once the user leaves the field.
*Added: Refresh method, refreshes the control's content.
*Added: Jumps the literals from the cursor when the Left, Right or Backspace key is pressed.

7.2.0.3 Jan 30, 2015
*Added: ValidateValue(NewValue,Cancel) event occurs once the user leaves the field. If Cancel is set on True, the value is not validated, so the field is keep focused until the user enters an appropriate value. The NewValue indicates the field's value with no masking/placeholders characters. The ValidateValue event is fired only, if the Invalid property is not empty.
*Added: PasswordChar property sets or removes the password character for the field. By default, the black circle character is used as password character, for TrueType fonts, or * for others.
*Added: The Mask property supports "password=value", where the first character in the value indicates the field's password char. If the value is missing, the default password char is used. 
*Fixed: The mask field fails if ends on single \ character

7.2.0.2 Oct 27, 2014
*NEW:   Restrict data input by using validation rule for input-mask fields ( invalid=value, Mask property )
*Added: Invalid property indicates the html message to be displayed when the user enters an inappropriate value for the field. The Invalid property has no effect if empty ( by default ). If the Invalid property is " " ( single space ), the invalid message is not shown, but the field waits until the value is appropriate for the field. 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 "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: The 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 ( Invalid property ). 
*Fixed: Can't delete the entire selected text if user presses the Backspace key on a RichMaskEdit field. 

7.2.0.1 Aug 13, 2014
*NEW:   Ability to specify different options in the Mask property
*Added: The 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

7.1.0.8 Apr 28, 2014
*Added: InsertMode property specifies whether the control is running in Insert mode ( by default ), or Overtype mode.
*Added: AllowToggleInsertMode property specifies whether the control is toggling the InsertMode when the user presses the Insert key. For instance, set the AllowToggleInsertMode property on False, to prevent changing the InsertMode when user presses the Insert key.
*Added: AllowContextMenu property specifies whether the control displays the content menu when user right clicks the control.
*Added: SelectGotFocus property indicates whether the entire text is selected once the field receives the focus.

7.1.0.7 Feb 19, 2014
*Added: TextIncludeLiterals property determines the way the Text property returns or set the value of the field. For instance, having the Mask property on "`Hexa [0-9a-f]: `[0-9a-f][0-9a-f]", TextIncludeLiterals property on exClipModeLiteralsExclude, calling the Text  = "09", causes the field to display "Hexa [0-9a-f]: 09", else if the TextIncludeLiterals property is NOT exClipModeLiteralsExclude, calling the Text  = "09", causes the field to display "Hexa [0-9a-f]: __", as the 0 and 9 are found on the first literal part.
*Added: TextIncludeLiteralsLoseFocus property determines how the field shows its content once it loses the focus.
*Added: Value(ClipModeLiteralsEnum) returns the control's content as default, with literals or without literals. For instance, the Value(exClipModeLiteralsExclude) gets the typed characters only.
*Added: Password property, displays all characters as a black circle for TrueType fonts, * for others

7.1.0.6 Nov 20, 2013
*Added: ForeColorReadOnly property indicates the control's foreground when the control is read only
*Added: BackColorReadOnly property indicates the control's background when the control is read only
*Added: Shows the drop down button of the control using the current visual theme.
*Added: Closes the drop down list of masks when the mask editor loses the focus.

7.1.0.5 Sep 09, 2013
*NEW:   Tooltip support, so your warning can show up once the user enters any invalid character.
*Added: Warning property indicates the html message to be shown when the user enters an invalid character. For instance, "00:00:00;;;warning=invalid character" displays a "invalid character" tooltip once the user types in invalid character, in this case any character that's not a digit. The <%mask%> keyword in value, substitute the current mask of the field, while the <%value%> keyword substitutes the current value ( including the literals ).
*Added: AllowBeep property specifies whether the control plays a beep once the user enters any invalid character
*Added: RClick event, fires when the user right clicks the control.

7.1.0.4 Jul 17, 2013
*Fixed: The mask is removed if the user selects the Delete item from the mask's context menu.
*Fixed: Can not enter numbers, if the minim margin of {} literal is not zero. For instance {1950,2050}, does not accept any number.
*Fixed: The CTRL + X, or Cut from the context menu, does not copy the entire text to the clipboard, inside a input mask field.
*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.

7.1.0.3 May 29, 2013
*Fixed: Moves the cursor after the typed literal. For instance, having "##:##", and user types : the cursor will move right after : character, instead in front of it
*Fixed: Unable to complete an ANY entity ( * ) in an input mask editor, if the next entity eats the typed character.
*Fixed: Prevents moving to a typed literal if there are editable entities to it. Having the mask "##.##.## 00", the cursor is moved to first 0 literal found, instead completed  available entity.
*Fixed: The cursor does not advance to the next literal, while user types the literal and the  focused entity is a number ({} entity)

7.1.0.2 May 13, 2013
*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
*Added: Ability to specify the mask's value with or without literals. For instance, having (####) ###-###, the mask field is completed if setting 0744845287, (0744)845287, (0744)  845 287, or (0744)  845-287, and so on

7.1.0.1 Apr 17, 2013
*NEW:   Major/Radical improvements for input-mask fields.
*Added: Characters enclosed in double quotation ("" or ``) marks will be displayed literally. For instance, the "`Prefix: `(###)", displays Prefix: (___).
*Added: The # in a mask field indicates a digit or space (entry not required; blank positions converted to spaces, plus and minus signs allowed), instead digits only.
*Added: The 0 in a mask field indicates a digit (0 through 9, entry required; plus [+] and minus [-] signs not allowed).
*Added: The 9 in a mask field indicates a digit or space (entry not required; plus and minus signs not allowed).
*Added: The & in a mask field indicates any character or a space (entry required).
*Added: The C in a mask field indicates any any character or a space (entry optional).
*Added: The a in a mask field indicates any letter, digit, or space (entry optional).
*Added: The L in a mask field indicates letters (a through z, A through Z, entry required).
*Added: The  ( ALT + 174 ) causes the characters that follow to be converted to uppercase, until  ( ALT + 175 ) is found.
*Added: The  ( ALT + 175 ) in a mask field causes the characters that follow to be converted to lowercase, until  ( ALT + 174 ) is found. For instance, the "*.*.*" specifies a mask such as _._._ where the first and third parts are in lowercase, while the middle part shows in uppercase. If the user types www.exontrol.com, the mask field displays www.EXONTROL.com. For instance, "[a-zA-z]*", causes the first character to be an upper letter case, while the rest is in lower case, while "[a-zA-z]*" causes just the first letter in upper case, while the rest let the as they are type.
*Added: The ! in a mask causes the input mask to fill from right to left instead of from left to right.
*Added: /NET version

3.0.0.2 Apr 14, 2011
*Fixed: Aligns the drop down window to a monitor, so it won't show between them. ( 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

3.0.0.1 July 27, 2009
*Added: 64-bit support
*Added: UNICODE support

2.0.0.1 January 13, 2009
*Added: Compatible with the Data Execution Prevention (DEP). (SpecialBuild:3000)
*Added: Right property right aligns text in a single-line or multiline edit control.
*Added: Locates the closest position where the typed character can be inserted.
*Fixed: The excel vba fires "Run-time error '28', Out of Stack space", when running an user-form. ( IQuickActivate )

1.0.1.2 April 28, 2005
*Fixed: Calling the Unload Me during the KeyDown event is not safe.

1.0.1.1 February 02, 2005
*Added: Support for ALT keys.
*Added: The KeyCode parameter of KeyDown, KeyUp events passed by reference.
*Added: The KeyAscii parameter of KeyPress event passed by reference.
*Fixed: If the MaskFloat property is True, the Text doesn't replace the editors text whith the given string but appends it

1.0.1.0 December 21, 2004
*NEW:   Ability to mask a floating point number with digit grouping.
*Added: MaskFloat property. Specifies whether the Mask property masks a floating point number.

1.0.0.9 November 03, 2004
*Added: Displays the control's content in the VFP-IDE (design mode ).

1.0.0.8 October 15, 2003
*Help:  Updated
*Fixed: Changing the ActiveMask property fails if there are no masks.

1.0.0.7 February 05, 2003
*Fixed: The ReadOnly property is read only at runtime.

1.0.0.6 November 17, 2002
*Added: Version property. Specifies the control's version
*Fixed: Text property ignores the literal characters.

1.0.0.5 May 28, 2002
*Added: ActiveMask property. Retrieves or sets a value that indicates the index of active mask
*Added: MaskChange event. Occurs when the user changes the control's mask.
*Added: VisibleMasks property. Specifies the number of visible items in the control masks list.
*Fixed: In VFP, the control's font cannot be changed in design mode.
*Fixed: The dropdown size is calculated wrong if selected font is Arial. 

1.0.0.4 March 15, 2002
*Fixed: Type property isn't persisted
*Fixed: GotFocus and LoseFocus events are never fired by clicking in the control area.
*Added: SelStart property. Returns the starting point of text selected
*Added: SelEnd property. Returns the ending point of text selected

1.0.0.3 March 05, 2002
*Fixed: If the entire text is selected, and the user presses Delete or BackSpace key, the edit's content is not cleared.
*Changed: Copyright information.

1.0.0.2 December 06, 2001
*Fixed: license

1.0.0.1 December 06, 2001
* Initial Release

Copyright 1999-2017 Exontrol. All rights reserved.