Difference between revisions of "LMD VCL 2024 - News"

From LMD
Jump to: navigation, search
(Created page with "{{Head-Getting started}}Category:Introduction '''LMD 2024 Minor releases:''' LMD 2024 History == General == === Support for IDEs and operating syste...")
 
 
(119 intermediate revisions by 2 users not shown)
Line 16: Line 16:
  
 
=== Installers ===  
 
=== Installers ===  
* New extended compatibility package which includes parts of LMD VCL which were moved to legacy package (LMD TextPack, LMD XML etc.)
+
* New universal installer for all LMD products. For a limited time installers with old installer technology will be provided in parallel.
* NG Packages are now integrated into LMD installers. There are no separate NG installers any longer.
 
 
* Demo projects are now stored in commpon documents folder (not in main folder like in previous releases)
 
* Demo projects are now stored in commpon documents folder (not in main folder like in previous releases)
 
* Registered versions: If no license file is found, you can now pick up a valid license file from within the installers
 
* Registered versions: If no license file is found, you can now pick up a valid license file from within the installers
Line 45: Line 44:
  
 
=== LMD 2024 Reg Utility ===
 
=== LMD 2024 Reg Utility ===
Since 2016 release NG Controls uses same license scheme like LMD VCL product line. Thus you can review on your machine available licenses for both LMD VCL and NG products via the RegUtility. Since version 2013 RegUtility installer copies all files to the %APPDATA%\LMD Innovative folder (instead of system folder in previous releases). As known from previous releases the new reg utilities recognize earlier license files (regardless whether they are stored in system or appdata folder), so that only one reg utility is required for current and previous licenses.
+
Since 2016 release NG Controls uses same license scheme like LMD VCL product line. Thus you can review on your machine available licenses for both LMD VCL and NG products via the RegUtility. Since version 2013 RegUtility installer copies all files to the %APPDATA%\LMD Innovative folder (instead of system folder in previous releases). As known from previous releases the new reg utilities recognize earlier license files (regardless whether they are stored in system or appdata folder), so that only one reg utility is required for current and previous licenses.
 +
'''Since 2020 release this tool is optional and might be removed in one of the future release.''' All new installers ask for license location when no license can be found in license folder.
 
{{Top}}
 
{{Top}}
  
Line 76: Line 76:
 
=== NG HTML ===
 
=== NG HTML ===
  
 +
Among other improvements the following new HTML controls has been introduced:
  
 +
*[[File:Ad11ac23a5f4.png]] TNGHTMLButton
 +
*[[File:9bd35abfc17d.png]] TNGHTMLCheckBox
 +
*[[File:E233f4885b31.png]] TNGHTMLRadioButton
 +
*[[File:02e90735b773.png]] TNGHTMLGroupBox
 +
*[[File:51cec0a45c5d.png]] TNGHTMLCheckGroup
 +
*[[File:1aea85387628.png]] TNGHTMLRadioGroup
 +
*[[File:C9f719bf5e5b.png]] TNGHTMLComboBox
  
 +
The controls are described in more details below.<br>
 +
 +
==== HTML engine enchancements ====
 +
 +
HTML engine has been drammatically improved. Many minor bugs, such as wrong text layouting or coloring have been fixed. Parsing and layouting performance has been greatly optimized, including text wrapping performance. All controls now support common concepts like horizontal and vertical content alignment, word wrapping, and more.<br>
 +
 +
Content alignment now is performed relative to maximum available content space and respects multiline and wrapped text. Different controls provide different default values for horizontal and vertical alignment, which is more consistent with respective controls nature. For example, HTML label control aligns HTML content to top-left by default, while button and panel controls align content to the center in both horizontal and vertical directions. List box, combo box and header controls align items content to the left in horizontal direction, and to the center in vertical direction.<br>
 +
 +
Images support has been improved a lot. 32-bit semi-transparent images are now supported. Global image cache has been introduced to speedup image processing. The cache stores all images, including images loaded from files, which prevent them from been reloaded multiple times. The cache also stores custom images provided via OnGetImage events. ClearImageCache function can be used to force the engine to reload all images on next content update.<br>
 +
 +
New verical image align feature has been added. Using valign attribute images, as well as input elements and embedded VCL controls, can be aligned vertically relative the text on the same line. Valign attribute supports the following values:
 +
*middle (default)
 +
*top
 +
*bottom
 +
*baseline
 +
The default value is middle, which is usefull for small images like icons or emojis, for check box or radio button input items or small-height VCL controls, like TEdit.<br>
 +
 +
[[File:A85c00e29003.png]]<br>
 +
 +
Content coloring has been improved. Default content colors for disabled controls are now match the corresponding themed (OS or VCL Styles) colors. In case text color has been redefinied in HTML, it will be blended with gray color to provide more consistent disabled look:<br>
 +
 +
[[File:6651e38ae1f6.png]] [[File:Fe2943a7678c.png]]<br>
 +
 +
Separate (slightly different) default color for links which looks nice with dark VCL styles has been introduced:<br>
 +
 +
[[File:D45ae97bbf6a.png]] [[File:43a0367e28e9.png]]<br>
 +
 +
Embedded VCL controls support has been reworked. Embedded controls are allowed only in HTML label, panel or view controls. In all other controls the support has been disabled for convenience (control tag will be skipped silently). Embedded controls can be aligned vertically relative to the line text using valign attribute just like images.<br>
 +
 +
[[File:012fe66d639e.png]]<br>
 +
 +
Control placeholders are shown at design-time instead of real controls:
 +
 +
[[File:Be25744ba592.png]]<br>
 +
 +
Unordered and ordered lists support has been improved. Mulilevel lists with the correct indentation and numbering has been implemented. Unicode char based bullets with scaling and anti-aliasing is now used. Different bullets are used for different list levels.<br>
 +
 +
[[File:236a9865d984.png]]<br>
 +
[[File:4431a61f203d.png]]<br>
 +
[[File:36667d90bb0e.png]]<br>
 +
 +
The engine provides simplified support for sub/sup text. Text line height calculation and text vertical shift is calculated based on the current item font, not on the previous item font. Items, like images or controls ignore sub/sup status.<br>
 +
 +
[[File:90da31401d85.png]]<br>
 +
 +
The engine now supports line gaps more correctly, and does not add a gap above the first line. NGHTMLDrawDebugLines global variable can be set to True to draw debug line separators.<br>
 +
 +
[[File:D5c9ee3538ff.png]]<br>
 +
{{Top}}
 +
 +
==== Design-time HTML editor ====
 +
 +
Design-time HTML editor look and feel has been updated, minor bugs has been fixed. Improvements include new toolbar icons, IDE themes support, and simple rich-edit based (TOM) syntax highlighting. Updated list of HTML fragments includes new features, like vertical align for images. For convenience, the editor can be canceled by pressing Escape key. Modified HTML text can be applied using Ctrl+Enter key press.<br>
 +
 +
[[File:5e06d68cf149.png]]<br>
 +
{{Top}}
 +
 +
==== Controls common enchancements ====
 +
 +
All HTML controls has been carefully checked agains the following drawing modes in all combinations:
 +
*IsHtml property (true/false)
 +
*Enabled property (true/false)
 +
*VCl Styles (on/off)
 +
*WordWrap property (true/talse)
 +
*Multiline text
 +
*Big text clipping<br>
 +
 +
Per-control VCL Styles support has been implemented, as well, as styled designer support for latest Delphi IDE versions.<br>
 +
 +
Support of ParentBackground and DoubleBuffering has been reworked.<br>
 +
 +
Adjustable Padding property is introduced in all HTML controls.<br>
 +
{{Top}}
 +
 +
==== TNGHTMLStorage component ====
 +
 +
[[File:9d6c74ca5152.png]]<br>
 +
 +
What's new:
 +
 +
*Items collection editor will be shown on component double click at desing-time.
 +
*Items collection editor columns: Item Name and Html Text.<br>
 +
*Items collection editor opens HTML editor on item double click or Ctrl+Enter.<br>
 +
 +
[[File:E38438efc586.png]]<br>
 +
{{Top}}
 +
 +
==== TNGHTMLLabel and TNGHTMLPanel controls ====
 +
 +
[[File:954bbfdc2fb9.png]] [[File:5f46a80bbc9d.png]]<br>
 +
 +
What's new:
 +
 +
*Rework of Alignment, VerticalAlignment/Layout, Padding, AutoSize, IsHtml. Works ok now in any combination.
 +
*Panel.ShowCaption fixes.
 +
*Label - default size changed to more appropriate value (100 x 17).
 +
*Label - default Caption, like Label1 (without NGHTML prefix).
 +
*Label - new BackgroundType, GradientStartColor and GradientEndColor properties.
 +
{{Top}}
 +
 +
==== TNGHTMLListBox control ====
 +
 +
[[File:3160a81b21e2.png]]<br>
 +
 +
What's new:
 +
 +
*ItemHeight and ItemAutoHeight properties - setting one property will reset another.
 +
*Item content is now center-aligned vertically by default.
 +
*New ItemPadding property. Default value is (2, 2, 2, 2). Deprecated Margin property is removed.
 +
*Color fixes: respecting Enabled, Focused, HideSelection and VCL Styles.
 +
*IsHtml related fixes: item padding and vertical alignment in plain text mode.
 +
*HorzGridColor - VCL Styles support.
 +
*New WordWrap property.
 +
*New lbltMultiline enum value is added to LargeTextOptions property. Deprecated Multiline property is removed.
 +
*New HorzGridMargin property.
 +
{{Top}}
 +
 +
==== TNGHTMLHeaderControl control ====
 +
 +
[[File:639e761f308d.png]]<br>
 +
 +
What's new:
 +
 +
*New "Edit Sections" component editor menu item.
 +
*New WordWrap property.
 +
*Sections content is now center aligned vertically (including image) by default.
 +
*Some adequate hard-coded content margins.
 +
*Sections editor opens HTML editor on item double click or Ctrl+Enter.
 +
{{Top}}
 +
 +
==== TNGHTMLView control ====
 +
 +
[[File:7f78afc39a4e.png]]<br>
 +
 +
What's new:
 +
 +
*Caption property type is changed from string to TNGHTMLCaption to support HTML editor.
 +
*Full scrollbars rework.
 +
*Padding related fixes.
 +
*Drawing fixes (HTML laytouing, Transparent).
 +
{{Top}}
 +
 +
==== New TNGHTMLButton control ====
 +
 +
[[File:Ad11ac23a5f4.png]]<br>
 +
 +
Features:
 +
 +
*Multiline text and WordWrap support.
 +
*Content is auto centered horizontally and vertically by default.
 +
*Component editor with "Edit HTML..." context menu item. But, with OnClick event handler creation on component double-click.
 +
{{Top}}
 +
 +
==== New TNGHTMLCheckBox and TNGHTMLRadioButton controls ====
 +
 +
[[File:9bd35abfc17d.png]] [[File:E233f4885b31.png]]<br>
 +
 +
Features:
 +
 +
*Multiline text and WordWrap support.
 +
*Left/Right Alignment of the checkmark relative to text.
 +
*Focus rect around text.
 +
*Group property for RadioButton, which allows to specify multiple radio button groups inside a single parent control.
 +
{{Top}}
 +
 +
==== New TNGHTMLGroupBox control ====
 +
 +
[[File:02e90735b773.png]]<br>
 +
 +
Features:
 +
 +
*HTML in Caption.
 +
*Multiline and Wordwrap support in Caption.
 +
*Delphi 11 and up features support: ShowFrame, HeaderFont, DefaultHeaderFont.
 +
{{Top}}
 +
 +
==== New TNGHTMLCheckGroup and TNGHTMLRadioGroup controls ====
 +
 +
[[File:51cec0a45c5d.png]] [[File:1aea85387628.png]]<br>
 +
 +
Features:
 +
 +
*Many properties allowing to customize items placement, like Padding, Columns, Stretch/Center/Top, ItemHeight, ColumnGap.
 +
*Alignment and WordWrap properties like in the corresponding TNGHTMLCheckBox or TNGHTMLRadioButton controls.
 +
*Check group: AllowGrayed, Checked[index], State[Index] and ButtonEnabled[Index] run-time properties.
 +
*Check group: Value and Grayed integer (UInt64) properties, which allow to set the state of contained check boxes as a bit mask. Properties are published and can be used at design-time.
 +
*Radio group: Checked[Index], ButtonEnabled[Index] run-time properties.
 +
*Radio group: ItemIndex published property, which can be used at design-time.
 +
*HTML in group box Caption.
 +
{{Top}}
 +
 +
==== New TNGHTMLComboBox control ====
 +
 +
[[File:C9f719bf5e5b.png]]<br>
 +
 +
Features:
 +
 +
*"List" mode only.
 +
*Multiline text and WordWrap support.
 +
*Separate edit and drop-down item settings: EditHeight, EditPadding, ItemHeight, ItemPadding.
 +
*ItemAutoHeight, like in HTML list box.
 +
*Customizable colors, like in HTML list box: SelectedColor, DisabledColor, SelectedFontColor, SelectedFontStyle.
 +
*Content is auto centered vertically, like in HTML list box.
 +
{{Top}}
 +
 +
=== New demos ===
 +
 +
[[File:Cb3c6fa28036.png]]<br>
 +
 +
<br>
 +
 +
[[File:F4ea6412bd89.png]]<br>
 +
 +
<br>
 +
 +
[[File:2ede3bb4c1ae.png]]<br>
 +
 +
<br>
 +
 +
[[File:A790df05a5fd.png]]<br>
 +
 +
<br>
 +
 +
[[File:Db3ef2d008eb.png]]<br>
 +
 +
<br>
 +
 +
[[File:932956e6e060.png]]<br>
 +
 +
<br>
 +
 +
[[File:5b7e5fc94dda.png]]<br>
 +
 +
<br>
 +
 +
[[File:46260e836313.png]]<br>
 +
 +
<br>
 +
 +
[[File:42247dadb8cf.png]]<br>
 +
 +
<br>
 +
 +
[[File:E2a7d7778420.png]]<br>
 +
 +
{{Top}}
 +
 +
=== Other NG Packs ===
 +
 +
New NG Demo Center is introduced with excessive number of NG packs functionality demos. NG Dialogs, NG Drag&Drop and NG Serialization demos are included. All demos provide comprehensive descriptions. As with LMD Demos Center, every demo contains "Show demo unit in Explorer" link at the bottom, which can be clicked to show the corresponding demo *.pas file.
 +
 +
==== NG Dialogs demos ====
 +
 +
[[File:19011ce3d7b0.png]] [[File:445e6a61bd25.png]]<br>
 +
 +
New demos show:
 +
 +
*Task dialog basic structure (text, icon, buttons, expandable information, verification and footer).
 +
*Progress bar in task dialogs.
 +
*Command links in task dialogs.
 +
*Radio buttons in task diualogs.
 +
*Input dialog basic structure, including different supported input types.
 +
*Input dialog HTML templates.
 +
*Simplified API for common input and task dialogs, like InputBox, ShowMessage, etc.
 +
*Controlling dialog execution (modal result, dialog events).
 +
*Multi-page dialog navigation.
 +
*Hyperlinks processing.
 +
*All demos are now based on fluent interface API.
 +
 +
[[File:2bdf84fea240.png]]<br>
 +
 +
<br>
 +
 +
[[File:F85d85965738.png]]<br>
 +
{{Top}}
 +
 +
==== NG Drag&Drop demos ====
 +
 +
[[File:3954b252ad94.png]] [[File:A62f55ea0b0b.png]]<br>
 +
 +
New demos show:
 +
 +
*Handling all supported formats:
 +
**Files
 +
**Text
 +
**Images
 +
**HTML
 +
**RTF
 +
**URLs
 +
*Working using package components.
 +
*Working via fluent interface API.
 +
*Handling drag effects (move, copy, link).
 +
*Enumerating formats for any dragged data.
 +
*Handling cursor position.
 +
*How to: Dragging images to files.
 +
*How to: Dragging memo selection.
 +
 +
[[File:6781e3da6e48.png]]<br>
 +
 +
<br>
 +
 +
[[File:013db4a034bc.png]]<br>
 +
{{Top}}
 +
 +
==== NG Serialization demos ====
 +
 +
[[File:79c49490d183.png]]<br>
 +
 +
New demos show:
 +
 +
*Seralizing single value (or object) or array of values using new NGSerialize.ToXxx/FromXxx extremely simple API.
 +
*Handling XML, JSON or binary ctream serialization.
 +
*Usage of all supported mapping attributes:
 +
**Alias, ElemAlias
 +
**DefClass, ElemDefClass
 +
**NoInherited
 +
**Transient, Serializable
 +
**Converter
 +
**FillRead, ElemFillRead
 +
**SkipMember, SkipAll
 +
*Advanced: serializing binary data.
 +
*Advanced: serializing manually.
 +
*Advanced: serializing simple and complex data models.
 +
 +
[[File:C19d68866940.png]]<br>
 +
 +
<br>
 +
 +
[[File:Be47848899aa.png]]<br>
 +
{{Top}}
 +
 +
=== LMD Tools ===
 +
 +
==== TLMDFontImageList component ====
 +
 +
[[File:3746D54SDG.png]] <br>
 +
 +
Support for code point values greater than High(Char) has been added. In addition to Symbol property font image list item now provides SymbolEx property of UCS4Char type.
 +
 +
[[File:A36639a82618.png]]<br>
 +
 +
==== TLMDGlobalHotKey component ====
 +
 +
[[File:79c49490d183.png]]<br>
 +
 +
"Win" key support has been added. New WinKey boolean property allow to specify, whether "Win" key should be added to the key combination set by HotKey property. Hot key should also include some other key modifier, like Ctrl or Shift.<br>
 +
 +
==== TLMDLight ====
 +
 +
[[File:79c49490d183.png]]<br>
 +
 +
New FlashPeriod property, which can be set to non-zero value to enable component flashing via internal timer.<br>
 +
 +
{{Top}}
 +
 +
=== LMD GridPack ===
 +
 +
The following utility methods has been added to TLMDGridCustomSource base class to prevent the need to access protected grid members from custom data source:<br>
 +
 +
*function Gird: TLMDCustomGrid;
 +
*function Columns: TLMDGridColumns;
 +
*procedure IncludeChange(AChange: TLMDGridChangeFlag);
 +
*procedure SyncGridStore;
 +
{{Top}}
  
 
= Changes/Enhancements since initial LMD VCL 2022 release =
 
= Changes/Enhancements since initial LMD VCL 2022 release =
  
=== LMD Common ===
+
=== Common ===
[+] RAD Studio 11.0 (Alexandria) support added for all products.<br>
+
 
[*] TControl.WindowProc hooking re-implementation (global centralized - less conflicts)<br>
+
[+] LMD Version like "2024.0" in Delphi's splash screen and about box.<br>
[*] LMD VCL Complete / NG Complete: NG ConnectionPack was extracted from the installers (now available as separate downloads). Reason: ConnectionPack libraries are very extensive and have enormously enlarged the Complete Installer.<br>
+
[+] New NG DemoCenter which includes new dialogs, drag&drop, HTML and serialization demos.<br>
[*] Component icons update: both 32 and 24 bit icons are now provided (depending of IDE version) for NG packs, LMD-DialogPack and LMD-Spell packs.<br>
+
[+] New component icons for DockPack, GridPack, ScriptPack and TLMDServiceProvider components.<br>
[*] Updated LMD Innovative icon for Delphi 11 splash screen and about box.<br>
+
[+] All installers were updated and fixed a problem which required system restart even for first time installation.<br>
[*] Installers: Shortcut to samples folder in startmenu added. It was not clear for some users that samples/demos are installed into the public documents folder (like RAD Studio demos). This is now also explicitly mentioned in installer and installation documentation.<br>
+
[*] Packages for RAD Studio 11 Alexandria were compiled and tested against the latest 11.2 update<br>
[*] Documentation for [[LMD VCL - DevUtil]] updated.<br>
+
[*] Packages for RAD Studio 11 Alexandria were compiled and tested against the latest 11.3 update<br>
[*] LMSysIn.pas: Improved Windows 11 detection - TLMDSysPlatform, LMDSIWindowsWindows11Up etc.<br>
 
[*] DevUtil design update.<br>
 
[-] Several fixes for demos (DockingPack, SyntaxEdit, NG ConnectionPack etc.).<br>
 
[-] Fixed: Some controls displayed wrong package names in About box.<br>
 
[-] TLMDPNGImageList: Design-time editor bug fix.<br>
 
[-] Component icon glitches in some IDE versions fixed.<br>
 
  
 
=== LMD Tools ===  
 
=== LMD Tools ===  
[+] TLMDFontImageList: New DisabledStyle (saturate, alpha) and DisabledAlpha properties.<br>
+
 
[+] TLMDFontImageList: Replica secondary image lists, auto synchronized with the Source list. Menu items in component editor, ParentColor and ParentSize properties, etc..<br>
+
[+] Font image list: Support for code point values greater than High(Char).<br>
[+] TLMFFontCollection: Component for using custom icon fonts without installation.<br>
+
[+] TLMDGlobalHotKey: Win key support.<br>
[+] TLMDHint: New EnableHTML property <br>
+
[+] TLMDHint: New CancelHint method. VCL Styles related fixes.<br>
[+] TLMDDBMaskEdit: Decimals property published.<br>
+
[+] TLMDCalculator: New BtnWidth and BtnHeight properties.<br>
[+] TLMDCheckListDlg: New writable DefaultChecked[Index] property has been added which provides an easy access to individual bits of DefaultValue property.<br>
+
[+] TLMDCalculatorComboBox: Adjusting drop-down calculator font sizes to fit the combo box font sze.<br>
[+] TLMDForm: soGlobalVclStyle option is added to IniSaveOptions to allow to save/restore the current VCL Style.<br>
+
[+] Windows Server 2022 detection.<br>
[+] TLMDStringList: New SaveAsText property for saving items strings as a text in dfm (customer wish).<br>
+
[*] TLMDTaskDialog: redeclaring the TLMDTaskDlgIcon type and changing icon kind names: tdiWarning -> diWarning, tdiQuestion -> diQuestion, etc. to prevent conflicts with standard TTaskDialogIcon type.<br>
[*] TLMDStringList: component editor re-layout , themed IDE colors adjustments and new font icons.<br>
+
[*] TLMDCheckListDlg: Up to 64 items support by changing Value and DefaultValue property types to Int64.<br>
[-] Several DB-controls: Adjustment of interaction with data link. This fixes a reported problem where in egdge cases undesired actions in read-only mode were possible.<br>
+
[*] TLMDWindowProc: Finalization workaround for Halt before Application.Run case.<br>
[-] TLMDCalendarEdit: Drop-down layouting fixes.<br>
+
[-] TLMDStatusBar design-time but fix.<br>
[-] TLMDSplitterPanel: Design-time sprigs (see TreeIntf.pas) which prevents adding/deleting items from Bars collection.<br>
+
[-] LMDMessageBoxDlg.ShowMessage dialog height bug fix.<br>
[-] TLMDSplitterPanel: Bars property editor dialog layout fixes.<br>
+
[-] Window hooks access violation bug fix.<br>
[-] Combobox drawing fixes (native theme mode).<br>
+
[-] TLMDButton: design-time styling bug fix.<br>
[-] TLMDButton: republishing ImageMargins property.<br>
+
[-] TLMDButton: virtual image list issue woraround.<br>
[-] LMDClass: "Published field 'Handler' is not a class or interface type" error fix.<br>
+
[-] TLMDHeaderListComboBox - Header sections font size bug fix.<br>
[-] Native themes glyphs (like combo box button arrow) drawing bug fix.<br>
+
[-] TLMDListBoxExt: Scrolling related fixes.<br>
[-] Small hook control fix.<br>
+
[-] TLMDHint: Long hints positioning bug fix.<br>
[-] TLMDHiTimer: bug fixes, small rework.<br>
+
[-] TLMDHint: MaxWidth in HTML mode bug fix.<br>
[-] TLMDPageControl: High DPI bug fix.<br>
+
[-] TLMDCaptionButtons: Invalid layouting in Delphi 11 bug fix (GetSystemMetrics in different IDEs).<br>
[-] TLMDStatusBar: Data-aware panels design-time bug fix.<br>
+
[-] TLMDComboBoxExt, TLMDListBoxExt: High DPI scaling related fixes. Support for Delphi 11 DPI-aware form designer.<br>
 +
[-] TLMDHint: Sizing and large html-text flickering fixes.<br>
 +
[-] TLMDTrayIcon: Doubling popups hints in Win10/11, when Animated = True bug fix.<br>
 +
[-] TLMDMaskEdit: Currency settings symbol bug fix.<br>
 +
[-] TLMDProgress: Drawing bug fix.<br>
 +
[-] TLMDHint: Layouting bug fix.<br>
 +
[-] TLMDInputDlg: dialog layouting bug, in case when MultilinePrompt = True.<br>
 +
[-] TLMDFileCtrl: File size bug fix (type changed from LongInt to Int64).<br>
 +
[-] TLMDTrackBar: MinValue&MaxValue bug fix.<br>
  
 
=== LMD ElPack ===
 
=== LMD ElPack ===
[+] TElComboBox: Drop-down position adjustment on a multi-monitor system.<br>
 
[+] TElCalendarDialog: New OnCustomize event, analogous to LMD-Tools dialogs.<br>
 
[+] TElCalendarDialog: New Position and RelatePos properties. New ExecuteEnh method. Analogous to LMD-Tools dialogs.<br>
 
[-] TElMemo: Copy to clipboard bug fix.<br>
 
[-] ElTrayInfo: corrupted dfm bug fix.<br>
 
[-] ElStyleManager: component editor bug fix.<br>
 
  
=== LMD DockingPack ===
+
[+] TElSpinEdit: New ApplyMode property, which allow to defer the conversion of the typed Text to integer Value until OnExit.<br>
[+] New TabCaption and AutoHideCaption properties.<br>
+
[*] TElXTreeItem.Tag type has been changed to NativeInt.
[+] Scaling of UndockWidth and UndockHeight values.<br>
+
[*] TElComboBox: Showing vertical scroll-bar when Items.Count is big, and DropDownCount property value specifies more items than can fit on the screen.<br>
[+] New OnUpdateHotspotsEx event (AClient parameter added).<br>
+
[*] TElExplorerBar: Disabling unsupported by Delphi VCL-Styles.<br>
[-] Small GDI related fix.<br>
+
[-] TElXTree: Virtual mode cell checkboxes click fix.<br>
 +
[-] TElCurrencyEdit: LinkedControl moving bug fix.<br>
 +
[-] TElPageControl: GDI resources leak buf fix.<br>
 +
[-] TElDbEdit, TElDbButtonEdit: Copy/Paste via hotkeys or context menu now properly turn the linked dataset into editing mode.<br>
 +
[*] SEC_NOCACHE flag disabled (in CreateFileMapping calls) for better virtualization/emulation support (x86 emulation on Windows ARM systems/VMs).<br>
 +
 
 +
=== LMD DockingPack ===
 +
 
 +
[*] Panel.OnHeaderPopup event is now raised even if Panel.HeaderMenu = nil to allow custom behavior.
 +
[-] DockPanel.Release bug fix.<br>
  
 
=== LMD DialogPack ===
 
=== LMD DialogPack ===
[-] Password dialogs layouting bug fix.
+
 
 +
[+] TJSDialog: New MaxContentHeight property. Auto constraining dialog content height to 80% of the screen height.<br>
 +
[-] TJSEditDialog: New etMaskEdit edit type. NewEditProperties.Mask property.<br>
 +
[-] TJSDialog: Performance optimization for long text messages (TJSCaption.PaintCaption, LTextHeight, SplitForWrapping).<br>
 +
[-] LMD-Dialog: Fixing some layouting issues in case big fonts are used in for password dialogs (password, confirm password, change passwrod).<br>
  
 
=== LMD RichPack ===
 
=== LMD RichPack ===
[+] New TextAttributes properties: Bold, Italic, Undeline, Strikeout.<br>
+
 
[+] New ParaAttributes properties: ConsistentAttributes.<br>
+
[-] RichPack: C++ headers bug fix.<br>
[+] New RichEdit properties: ScrollPosition, ShowURLHint.<br>
+
[-] TLMDRichSyntaxEdit: WordWrap default value bug fix.<br>
[+] New Transparent, SpellChecking, TextDocument and TextDocument2 properties.<br>
+
[-] Removing std Windows _FILETIME, _LARGE_INTEGER AND _ULARGE_INTEGER declarations to prevent conflicts in C++.<br>
[+] New InsertTable method along with TLMDInsertRow, TLMDInsertCell, TLMDInsertCellBorder support data classes.<br>
+
[-] x64 bug fix (dwCookie callback parameter type).<br>
[+] New LinkOptions property added, which allows to control jumping between hyper-text storage items, and, as well, jumping to bookmarks.<br>
+
[-] Small C++ related bug fix (replacing ULARGE_INTEGER with UInt64).<br>
[+] New TLMDRichHyperText.GoToEx overloaded methods. Allows jumping between hyper-text storage items, and, as well, jumping to bookmarks.<br>
+
 
[+] Ctrl+B, Ctrl+I and Ctrl+U shortcuts.<br>
+
=== LMD GridPack ===
[+] Ctrl+M and Ctrl+Shift+M shortcuts for indentation.<br>
+
 
[+] TOM2 interfaces has been added to LMDRTFInt.pas unit.<br>
+
[+] Utility methods, like IncludeChange and SyncGridStore, in grid source base class. No more need to access protected grid members from custom data source.<br>
[+] Font icons option in generated toolbars.<br>
 
[+] Font icons in design-time editor toolbars.<br>
 
[+] Integration of PrintPack dialogs: TLMDRichEdit.PreviewDialog, TLMDRichEdit.PagePropertiesDialog, TLMDRichEdit.Print.<br>
 
[+] New TLMDRichEdit.PrinterSetupDialog.<br>
 
[+] New LMDRichGetPrinter() global function and LMDGetPrinterProc callback.<br>
 
[+] New PrinterSetupDialog and PagePropertiesDialog overloads with configure callback parameter.<br>
 
[+] Ruler VCL Styles support.<br>
 
[+] New  Demo Center demos:<br>
 
* Hyper-text demo.
 
* Shortcuts demo.
 
* Actions demo.
 
* Printing demo.
 
* Runtime demo.
 
* TOM2 demo.
 
* And more…
 
[*] Gutter look improvements.<br>
 
[*] Combo boxes Flat style drawing improvements (not ideal).<br>
 
[*] Screen.ActiveControl instead of Focused in actions.<br>
 
[*] Actions do not get disables when font or font-size combo boxes are active.<br>
 
[*] TLMDDBRichEdit - rework of interaction with dataset.<br>
 
[-] Slow design-time editor showing bug fix.<br>
 
[-] Built-in print preview layout fixes.<br>
 
[-] Rich edit ruler indents recalculation (when Measurement changed) bug fix.<br>
 
[-] Dialogs layout and font fixes.<br>
 
[-] TLMDRichCharmapDialog high DPI layouting and drawing fixes.<br>
 
[-] TLMDDBRichEdit blob fields handling fixes (including NVARCHAR(MAX)).<br>
 
[-] Print page width and margin fixes.<br>
 
[-] Fixing hyper-text features in RichEdit4.<br>
 
  
 
=== LMD ShellPack ===
 
=== LMD ShellPack ===
[-] TLMDShellList: Wrong detection of file date-times bug fix. <br>
 
[-] TLMDShellList: Auto-size column width flickering bug fix.<br>
 
  
=== LMD PrintPack ===
+
[-] ShellPack: Empty caption in shell actions bug fix.<br>
 +
[-] TLMDshellList - Preserving column sizes (DefaultColumns = True) while updating.<br>
 +
[-] TLMDShellList: x64 bug fux.<br>
  
[+] Font images in preview dialog.<br>
+
=== LMD SysPack ===
[+] TLMDPrintPreviewDialog: UseFontIcons and FontIconsColor properties.<br>
 
[+] TLMDPrintToolBar: UseFontIcons and FontIconsColor properties.<br>
 
[+] New ExecPreviewDlg, ExecPrintSetupDlg and ExecPageSetupDlg overloads with configure callback parameter.<br>
 
[+] Preview dialog VCL Styles support (font images color), main panel area color.<br>
 
[-] Minor page setup layout fix.<br>
 
  
=== LMD DesignPack ===
+
[-] TLMDSysWindowsObject: Windows 11 product name bug fix.<br>
[+] Text clipboard format support added (use ClipboardFormat = 'Text').<br>
 
  
=== LMD ScriptPack ===
+
=== LMD IDE-Tools ===
[+] Importer files for new VCL version in 11.0 (Alexandria) updated.<br>
+
 
[*] Importer Wizard icons update.<br>
+
[*] IDE-Tools: Moving service provider DCR files away from the run-time package unit.<br>
 +
[-] Fixes related to latest IDEs (D10.4 and D11) VCL Styles changes.<br>
 +
 
 +
=== LMD ScriptPack ===
 +
 
 +
[-] Native languages try/except bug fix.<br>
 +
[-] Access Violation in ConvToVar when creating new objects bug fix.<br>
  
 
=== LMD SyntaxEdit ===
 
=== LMD SyntaxEdit ===
[+] New VS Code like color themes (light and drak, bold keywords and normal).<br>
+
 
[+] New Delphi code editor based color schemes (dark and light, bold keywords and normal).<br>
+
[+] New TLMDEditView.SearchLastReplaceCanceled property, which allows to determine whether the replace operation has been canceled by the user via confirmation dialog's Cancel button.<br>
[*] Now RegisterDragDrop/RevokeDragDrop is called internally only if vsDragDropEditing view settings flag is set (compatibility with NG Drag&DropPack).<br>
+
[+] Reporting active schemes at the specified cursor point.<br>
[*] Document will no longer be marked as modified on identical replaces via Find/Replace dialog.<br>
+
[-] CSS scheme modification (@media support).<br>
[-] CSS comments bug fix.<br>
+
[-] EditView.SearchLastReplaceCanceled bug fix.<br>
 +
[-] TLMDEditColorSchemeDialog: Access violation on loading invalid XML fix.<br>
 +
 
 +
=== NG HTML ===
 +
 
 +
[+] New '''TNGHTMLButton''' control: Multiline, WordWrap. Content is horz/vert auto centered. Component editor with "Edit HTML..." context menu item. But, with OnClick event handler creation on component double-click.<br>
 +
[+] New '''TNGHTMLCheckBox''' and '''TNGHTMLRadioButton''' controls: Multiline, WordWrap. Left/Right Alignment. Focus rect around content. Group for radio button.<br>
 +
[+] New '''TNGHTMLGroupBox''' control: HTML Caption.
 +
[+] New '''TNGHTMLCheckGroup''', '''TNGHTMLRadioGroup''' controls: Layout (Padding, Columns, Stretch/Center/Top, ItemHeight, ColumnGap), Alignment, WordWrap, OnClick. Check group: AllowGrayed, Checked[index], State[Index], ButtonEnabled[Index], Value, Grayed (UInt64, published), Radio group: Checked[Index], ButtonEnabled[Index], ItemIndex (published). Html in group caption.<br>
 +
[+] New '''TNGHTMLComboBox''' control: "List" mode only. WordWrap, multiline support. Separate edit and drop-down item settings: EditHeight, EditPadding, ItemHeight, ItemPadding. ItemAutoHeight, like in HTML list box. Customizable colors, like in HTML list box: SelectedColor, DisabledColor, SelectedFontColor, SelectedFontStyle. Content is auto centered vertically, like in HTML list box.<br>
 +
[+] New HTML controls icons.<br>
 +
[+] 32-bit images in NG HTML.
 +
[+] Multilevel sup/sub support. Using Unicode chars for unordered list item bullets.<br>
 +
[+] Vertial align support, for images, input and control items, valign = (baseline, middle, top, bottom). Aligns images/controls relative to text (which also means - text relative to images/controls). Default valign value is "middle".<br>
 +
[+] Image cache.<br>
 +
[+] Font cache.<br>
 +
[+] Dark themes link color.<br>
 +
[+] Per-control VCL Styles support. Styled designer support.<br>
 +
[+] New toolbar icons in the design-time HTML editor.<br>
 +
[+] New simple syntax highlighting in the design-time HTML editor.<br>
 +
[+] Cancel on Escape key press, apply on Ctrl+Enter key press in the design-time HTML editor.<br>
 +
[+] TNGHTMLStorage: component double click at design-time opens items collection editor.<br>
 +
[+] TNGHTMLStorage: item double click (or Ctrl+Enter press) at design-time in the items collection editor opens item HTML editor.<br>
 +
[*] TNGHTMLLabel: Default size changed to more appropriate value (100 x 17).<br>
 +
[+] TNGHTMLListBox: New WordWrap property.<br>
 +
[+] TNGHTMLListBox: New lbltMultiline enum value is added to LargeTextOptions property. Multiline property is removed.<br>
 +
[+] TNGHTMLListBox: New HorzGridMargin property.<br>
 +
[+] TNGHTMLListBox: New ItemPadding property. Default values are (2, 2, 2, 2). Margin property is removed.<br>
 +
[*] TNGHTMLListBox: ItemHeight & ItemAutoHeight - setting one property resets another.<br>
 +
[*] TNGHTMLListBox: Items content is now center aligned vertically.<br>
 +
[-] TNGHTMLListBox: Colors fixes: respecting Enabled, Focused, HideSelection and VCL Styles.<br>
 +
[-] TNGHTMLListBox: IsHtmlrelated fixes: item padding and vertical alignment in plain text mode.<br>
 +
[*] TNGHTMLListBox: HorzGridColor - VCL Styles support.<br>
 +
[+] TNGHTMLHeaderControl: New "Edit Sections" component editor menu item.<br>
 +
[+] TNGHTMLHeaderControl: New WordWrap property.<br>
 +
[*] TNGHTMLHeaderControl: Sections content is now center aligned vertically (including image).<br>
 +
[*] TNGHTMLHeaderControl: Some adequate hard-coded margins.<br>
 +
[*] TNGHTMLHeaderControl: Sections editor improvements: opens Html editor on item double click or Ctrl+Enter.<br>
 +
[*] TNGHTMLView: Caption property type is changed from string to TNGHTMLCaption to support HTML editor.<br>
 +
[*] TNGHTMLView: Full scrollbars rework.<br>
 +
[-] TNGHTMLView: Padding related fixes.<br>
 +
[-] TNGHTMLView: Drawing fixes (Html laytouing, Transparent).<br>
 +
[*] Big rework of everything. Many improvements.<br>
 +
[*] Big Html engine performance improvement.<br>
 +
[*] Rework of Alignment, VerticalAlignment/Layout, Padding, AutoSize, IsHtml. Works ok now in any combination.<br>
 +
[*] Rework of ParentBackground and DoubleBuffering.<br>
 +
[*] VCL Controls in HTML: Rework, bug fixes.<br>
 +
[*] Improved DPI support.<br>
 +
[*] "Disabled" coloring is greatly improved using colors blending. Default disabled colors are now match the corresponding themed colors.<br>
 +
[-] TNGHTMLPanel: Enabled fixes.<br>
 +
[-] TNGHTMLPanel: ShowCaption fixes.<br>
 +
[-] Text colors bug fix.<br>
 +
[-] Center/right aligned content with small available space width bug fix.<br>
 +
[-] LineGap before first line bug fix.<br>
  
 
=== NG DialogPack ===
 
=== NG DialogPack ===
[+] New InputPos and MinInputWidth properties, which allows to layout input control.<br>
 
[+] New NGDialogs.DefaultInputPos and NGDialogs.DefaultMinInputWidth properties.<br>
 
[+] New InputPos, HorzInputPos and VertInputPos overloaded methods in TInputBuilder.<br>
 
  
=== NG Serialization ===
+
[+] New TNGTaskDialog.Clear method, VerificationChecked property.<br>
 
+
[+] New TNGInputDialog.TemplateImages property. New TNGDialogs.InputBox(items: array) overrides.<br>
[-] Small bug fix :).
+
[+] Disabling dialog emulation mode at design-time for new IDEs.
  
 
{{Top}}
 
{{Top}}
  
 
== Archive ==
 
== Archive ==
 +
 
* [[LMD VCL 2021 - News|LMD VCL 2022 - What's new]]
 
* [[LMD VCL 2021 - News|LMD VCL 2022 - What's new]]
 
* [[LMD VCL 2021 - News|LMD VCL 2021 - What's new]]
 
* [[LMD VCL 2021 - News|LMD VCL 2021 - What's new]]

Latest revision as of 06:38, 13 November 2023

<< Back to Getting started page

[edit]

LMD 2024 Minor releases: LMD 2024 History

General

Support for IDEs and operating systems

Major change:

  • Supports any Delphi/C++Builder VCL release version XE2 or better (including new Delphi/C++Builder 12).
  • 64bit support for all releases!
  • Supported IDEs
    • Delphi XE2 and better
    • C++ Builder XE2 and better
    • All corresponding RAD Studio Products (XE2, XE3, XE4 etc.)
  • Supported operating systems
    • Windows 7 and better

For recent Delphi/C++Builder releases LMD VCL package support same platforms as the VCL which is included in the IDE. [Top]

Installers

  • New universal installer for all LMD products. For a limited time installers with old installer technology will be provided in parallel.
  • Demo projects are now stored in commpon documents folder (not in main folder like in previous releases)
  • Registered versions: If no license file is found, you can now pick up a valid license file from within the installers
  • All component installers are now dual signed with SHA1/SHA2 certificate.

[Top]

64bit support

All packages were ported to 64bit. Exception: Compatibility controls (dcllmdlegacy) can not be used in 64bit applications.
[Top]

Package naming conventions

Since LMD VCL 2012 package names have been changed to be more consistent with VCL naming convention. LMD version number and IDE version number were removed from package names. Runtime package names are prefixed now with "lmdrt", design-time package names with "dcllmd". Some examples of generated package file names are: lmdrtdocking.dcp, lmdrtdocking.bpi, lmdrtdocking.lib, dcllmddocking.dcp, dcllmddocking.bpi, dcllmddocking.lib. IDE version suffix is still included in generated "bpl", e.g. lmdrtdocking_260.bpl for Delphi 10.3 Rio.

This change simplifies porting projects (supposed they are compiled with run-time packages) to another IDE version. Since package references contain neither IDE version nor LMD platform version, migrating to a future IDE version requires almost no changes.
[Top]

LMD 2024 DevUtil

The DevUtil tool was updated (e.g. with Delphi/C++Builder 12 support) and improved. It is now easier than ever to switch between different workspaces (sets of component packages), even leaving the current IDE is no longer required!
[Top]

NG packages now integrated into LMD VCL line

NG packages are now integrated into the LMD VCL line, e.g. the new NG Drag&DropPack is included in LMD-Tools/ElPack/IDE-Tools, which simplifies Drag&Drop operations within but also outside your projects enormously. [Top]

LMD 2024 Reg Utility

Since 2016 release NG Controls uses same license scheme like LMD VCL product line. Thus you can review on your machine available licenses for both LMD VCL and NG products via the RegUtility. Since version 2013 RegUtility installer copies all files to the %APPDATA%\LMD Innovative folder (instead of system folder in previous releases). As known from previous releases the new reg utilities recognize earlier license files (regardless whether they are stored in system or appdata folder), so that only one reg utility is required for current and previous licenses. Since 2020 release this tool is optional and might be removed in one of the future release. All new installers ask for license location when no license can be found in license folder. [Top]

Free access to Git repositories for LMD VCL Complete

We moved our sources to new git-based project structure. All VCL Complete 2024 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2024 license to connect to GitLab. SSO with credentials for customer area is supported). Check also Quick overview for more info. [Top]

New subscription model and new customer area

We received some criticism for our old update policy (especially observing the very fast Embarcadero release cycle and our yearly updates).
Old update policy included free minor updates with same major version number - until next major release was available. We offered only for VCL Complete packages subscription models.
Following changes were introduced with 2016 licenses:

  • Each full- or update purchase includes now a one year subscription (free-of-charge)

This one-year subscription refers to major version updates. If a new major version is released within subscription period, you'll receive automatically new version free of charge. VCL Complete customers will receive even fully new LMD VCL products released in subscription period.

  • Minor updates with same major version number are handled like before:

These updates are always free of charge for all major (products LMD-Tools, ElPack, IDE-Tools, etc.) and standalone packs. These updates are placed in our protected download areas and can be downloaded free of charge - anytime (using your registration utility).

  • What happens when subscription expires?

Subscription period refers only to the right receiving free major version updates.
If your subscription expires, your licenses behaves like before (free minor updates until next major release, perpetual use of the current license).

  • How to renew

Renewals for existing licenses will be applied as extension period to the end of your previous subscription (for example, if your subscription expires 11-Dec-2016, renewing will give you updates until 11-Dec-2017). If your existing subscription has been expired for over three months, you will receive major updates for at least 9 months from the date of renewal. Please note that the term “subscription period” refers to major updates only. As usual product licenses never expire, minor updates with same major version number are always included free of charge and so on.

  • Will I receive notification mails to renew?

We send you notification emails before subscription expires. If you don’t want to receive them, check your profile page and uncheck option “I want to receive mails about my licenses expiration”.

  • Early renewal discounts and update pricing

We honour early renewals. Check your profile page to receive personal offers. Within one year (after subscription period expired) you can renew your subscription for a special renewal rate. After that standard price applies. Upgrade orders (from pre-2016 releases) as known before (to start initial subscription period) will be possible until end of 2016.
To reflect new changes we introduced a new customer area, where customers can review and check license status at one single place.
[Top]


Package Changes

NG HTML

Among other improvements the following new HTML controls has been introduced:

  • Ad11ac23a5f4.png TNGHTMLButton
  • 9bd35abfc17d.png TNGHTMLCheckBox
  • E233f4885b31.png TNGHTMLRadioButton
  • 02e90735b773.png TNGHTMLGroupBox
  • 51cec0a45c5d.png TNGHTMLCheckGroup
  • 1aea85387628.png TNGHTMLRadioGroup
  • C9f719bf5e5b.png TNGHTMLComboBox

The controls are described in more details below.

HTML engine enchancements

HTML engine has been drammatically improved. Many minor bugs, such as wrong text layouting or coloring have been fixed. Parsing and layouting performance has been greatly optimized, including text wrapping performance. All controls now support common concepts like horizontal and vertical content alignment, word wrapping, and more.

Content alignment now is performed relative to maximum available content space and respects multiline and wrapped text. Different controls provide different default values for horizontal and vertical alignment, which is more consistent with respective controls nature. For example, HTML label control aligns HTML content to top-left by default, while button and panel controls align content to the center in both horizontal and vertical directions. List box, combo box and header controls align items content to the left in horizontal direction, and to the center in vertical direction.

Images support has been improved a lot. 32-bit semi-transparent images are now supported. Global image cache has been introduced to speedup image processing. The cache stores all images, including images loaded from files, which prevent them from been reloaded multiple times. The cache also stores custom images provided via OnGetImage events. ClearImageCache function can be used to force the engine to reload all images on next content update.

New verical image align feature has been added. Using valign attribute images, as well as input elements and embedded VCL controls, can be aligned vertically relative the text on the same line. Valign attribute supports the following values:

  • middle (default)
  • top
  • bottom
  • baseline

The default value is middle, which is usefull for small images like icons or emojis, for check box or radio button input items or small-height VCL controls, like TEdit.

A85c00e29003.png

Content coloring has been improved. Default content colors for disabled controls are now match the corresponding themed (OS or VCL Styles) colors. In case text color has been redefinied in HTML, it will be blended with gray color to provide more consistent disabled look:

6651e38ae1f6.png Fe2943a7678c.png

Separate (slightly different) default color for links which looks nice with dark VCL styles has been introduced:

D45ae97bbf6a.png 43a0367e28e9.png

Embedded VCL controls support has been reworked. Embedded controls are allowed only in HTML label, panel or view controls. In all other controls the support has been disabled for convenience (control tag will be skipped silently). Embedded controls can be aligned vertically relative to the line text using valign attribute just like images.

012fe66d639e.png

Control placeholders are shown at design-time instead of real controls:

Be25744ba592.png

Unordered and ordered lists support has been improved. Mulilevel lists with the correct indentation and numbering has been implemented. Unicode char based bullets with scaling and anti-aliasing is now used. Different bullets are used for different list levels.

236a9865d984.png
4431a61f203d.png
36667d90bb0e.png

The engine provides simplified support for sub/sup text. Text line height calculation and text vertical shift is calculated based on the current item font, not on the previous item font. Items, like images or controls ignore sub/sup status.

90da31401d85.png

The engine now supports line gaps more correctly, and does not add a gap above the first line. NGHTMLDrawDebugLines global variable can be set to True to draw debug line separators.

D5c9ee3538ff.png
[Top]

Design-time HTML editor

Design-time HTML editor look and feel has been updated, minor bugs has been fixed. Improvements include new toolbar icons, IDE themes support, and simple rich-edit based (TOM) syntax highlighting. Updated list of HTML fragments includes new features, like vertical align for images. For convenience, the editor can be canceled by pressing Escape key. Modified HTML text can be applied using Ctrl+Enter key press.

5e06d68cf149.png
[Top]

Controls common enchancements

All HTML controls has been carefully checked agains the following drawing modes in all combinations:

  • IsHtml property (true/false)
  • Enabled property (true/false)
  • VCl Styles (on/off)
  • WordWrap property (true/talse)
  • Multiline text
  • Big text clipping

Per-control VCL Styles support has been implemented, as well, as styled designer support for latest Delphi IDE versions.

Support of ParentBackground and DoubleBuffering has been reworked.

Adjustable Padding property is introduced in all HTML controls.
[Top]

TNGHTMLStorage component

9d6c74ca5152.png

What's new:

  • Items collection editor will be shown on component double click at desing-time.
  • Items collection editor columns: Item Name and Html Text.
  • Items collection editor opens HTML editor on item double click or Ctrl+Enter.

E38438efc586.png
[Top]

TNGHTMLLabel and TNGHTMLPanel controls

954bbfdc2fb9.png 5f46a80bbc9d.png

What's new:

  • Rework of Alignment, VerticalAlignment/Layout, Padding, AutoSize, IsHtml. Works ok now in any combination.
  • Panel.ShowCaption fixes.
  • Label - default size changed to more appropriate value (100 x 17).
  • Label - default Caption, like Label1 (without NGHTML prefix).
  • Label - new BackgroundType, GradientStartColor and GradientEndColor properties.

[Top]

TNGHTMLListBox control

3160a81b21e2.png

What's new:

  • ItemHeight and ItemAutoHeight properties - setting one property will reset another.
  • Item content is now center-aligned vertically by default.
  • New ItemPadding property. Default value is (2, 2, 2, 2). Deprecated Margin property is removed.
  • Color fixes: respecting Enabled, Focused, HideSelection and VCL Styles.
  • IsHtml related fixes: item padding and vertical alignment in plain text mode.
  • HorzGridColor - VCL Styles support.
  • New WordWrap property.
  • New lbltMultiline enum value is added to LargeTextOptions property. Deprecated Multiline property is removed.
  • New HorzGridMargin property.

[Top]

TNGHTMLHeaderControl control

639e761f308d.png

What's new:

  • New "Edit Sections" component editor menu item.
  • New WordWrap property.
  • Sections content is now center aligned vertically (including image) by default.
  • Some adequate hard-coded content margins.
  • Sections editor opens HTML editor on item double click or Ctrl+Enter.

[Top]

TNGHTMLView control

7f78afc39a4e.png

What's new:

  • Caption property type is changed from string to TNGHTMLCaption to support HTML editor.
  • Full scrollbars rework.
  • Padding related fixes.
  • Drawing fixes (HTML laytouing, Transparent).

[Top]

New TNGHTMLButton control

Ad11ac23a5f4.png

Features:

  • Multiline text and WordWrap support.
  • Content is auto centered horizontally and vertically by default.
  • Component editor with "Edit HTML..." context menu item. But, with OnClick event handler creation on component double-click.

[Top]

New TNGHTMLCheckBox and TNGHTMLRadioButton controls

9bd35abfc17d.png E233f4885b31.png

Features:

  • Multiline text and WordWrap support.
  • Left/Right Alignment of the checkmark relative to text.
  • Focus rect around text.
  • Group property for RadioButton, which allows to specify multiple radio button groups inside a single parent control.

[Top]

New TNGHTMLGroupBox control

02e90735b773.png

Features:

  • HTML in Caption.
  • Multiline and Wordwrap support in Caption.
  • Delphi 11 and up features support: ShowFrame, HeaderFont, DefaultHeaderFont.

[Top]

New TNGHTMLCheckGroup and TNGHTMLRadioGroup controls

51cec0a45c5d.png 1aea85387628.png

Features:

  • Many properties allowing to customize items placement, like Padding, Columns, Stretch/Center/Top, ItemHeight, ColumnGap.
  • Alignment and WordWrap properties like in the corresponding TNGHTMLCheckBox or TNGHTMLRadioButton controls.
  • Check group: AllowGrayed, Checked[index], State[Index] and ButtonEnabled[Index] run-time properties.
  • Check group: Value and Grayed integer (UInt64) properties, which allow to set the state of contained check boxes as a bit mask. Properties are published and can be used at design-time.
  • Radio group: Checked[Index], ButtonEnabled[Index] run-time properties.
  • Radio group: ItemIndex published property, which can be used at design-time.
  • HTML in group box Caption.

[Top]

New TNGHTMLComboBox control

C9f719bf5e5b.png

Features:

  • "List" mode only.
  • Multiline text and WordWrap support.
  • Separate edit and drop-down item settings: EditHeight, EditPadding, ItemHeight, ItemPadding.
  • ItemAutoHeight, like in HTML list box.
  • Customizable colors, like in HTML list box: SelectedColor, DisabledColor, SelectedFontColor, SelectedFontStyle.
  • Content is auto centered vertically, like in HTML list box.

[Top]

New demos

Cb3c6fa28036.png


F4ea6412bd89.png


2ede3bb4c1ae.png


A790df05a5fd.png


Db3ef2d008eb.png


932956e6e060.png


5b7e5fc94dda.png


46260e836313.png


42247dadb8cf.png


E2a7d7778420.png

[Top]

Other NG Packs

New NG Demo Center is introduced with excessive number of NG packs functionality demos. NG Dialogs, NG Drag&Drop and NG Serialization demos are included. All demos provide comprehensive descriptions. As with LMD Demos Center, every demo contains "Show demo unit in Explorer" link at the bottom, which can be clicked to show the corresponding demo *.pas file.

NG Dialogs demos

19011ce3d7b0.png 445e6a61bd25.png

New demos show:

  • Task dialog basic structure (text, icon, buttons, expandable information, verification and footer).
  • Progress bar in task dialogs.
  • Command links in task dialogs.
  • Radio buttons in task diualogs.
  • Input dialog basic structure, including different supported input types.
  • Input dialog HTML templates.
  • Simplified API for common input and task dialogs, like InputBox, ShowMessage, etc.
  • Controlling dialog execution (modal result, dialog events).
  • Multi-page dialog navigation.
  • Hyperlinks processing.
  • All demos are now based on fluent interface API.

2bdf84fea240.png


F85d85965738.png
[Top]

NG Drag&Drop demos

3954b252ad94.png A62f55ea0b0b.png

New demos show:

  • Handling all supported formats:
    • Files
    • Text
    • Images
    • HTML
    • RTF
    • URLs
  • Working using package components.
  • Working via fluent interface API.
  • Handling drag effects (move, copy, link).
  • Enumerating formats for any dragged data.
  • Handling cursor position.
  • How to: Dragging images to files.
  • How to: Dragging memo selection.

6781e3da6e48.png


013db4a034bc.png
[Top]

NG Serialization demos

79c49490d183.png

New demos show:

  • Seralizing single value (or object) or array of values using new NGSerialize.ToXxx/FromXxx extremely simple API.
  • Handling XML, JSON or binary ctream serialization.
  • Usage of all supported mapping attributes:
    • Alias, ElemAlias
    • DefClass, ElemDefClass
    • NoInherited
    • Transient, Serializable
    • Converter
    • FillRead, ElemFillRead
    • SkipMember, SkipAll
  • Advanced: serializing binary data.
  • Advanced: serializing manually.
  • Advanced: serializing simple and complex data models.

C19d68866940.png


Be47848899aa.png
[Top]

LMD Tools

TLMDFontImageList component

3746D54SDG.png

Support for code point values greater than High(Char) has been added. In addition to Symbol property font image list item now provides SymbolEx property of UCS4Char type.

A36639a82618.png

TLMDGlobalHotKey component

79c49490d183.png

"Win" key support has been added. New WinKey boolean property allow to specify, whether "Win" key should be added to the key combination set by HotKey property. Hot key should also include some other key modifier, like Ctrl or Shift.

TLMDLight

79c49490d183.png

New FlashPeriod property, which can be set to non-zero value to enable component flashing via internal timer.

[Top]

LMD GridPack

The following utility methods has been added to TLMDGridCustomSource base class to prevent the need to access protected grid members from custom data source:

  • function Gird: TLMDCustomGrid;
  • function Columns: TLMDGridColumns;
  • procedure IncludeChange(AChange: TLMDGridChangeFlag);
  • procedure SyncGridStore;

[Top]

Changes/Enhancements since initial LMD VCL 2022 release

Common

[+] LMD Version like "2024.0" in Delphi's splash screen and about box.
[+] New NG DemoCenter which includes new dialogs, drag&drop, HTML and serialization demos.
[+] New component icons for DockPack, GridPack, ScriptPack and TLMDServiceProvider components.
[+] All installers were updated and fixed a problem which required system restart even for first time installation.
[*] Packages for RAD Studio 11 Alexandria were compiled and tested against the latest 11.2 update
[*] Packages for RAD Studio 11 Alexandria were compiled and tested against the latest 11.3 update

LMD Tools

[+] Font image list: Support for code point values greater than High(Char).
[+] TLMDGlobalHotKey: Win key support.
[+] TLMDHint: New CancelHint method. VCL Styles related fixes.
[+] TLMDCalculator: New BtnWidth and BtnHeight properties.
[+] TLMDCalculatorComboBox: Adjusting drop-down calculator font sizes to fit the combo box font sze.
[+] Windows Server 2022 detection.
[*] TLMDTaskDialog: redeclaring the TLMDTaskDlgIcon type and changing icon kind names: tdiWarning -> diWarning, tdiQuestion -> diQuestion, etc. to prevent conflicts with standard TTaskDialogIcon type.
[*] TLMDCheckListDlg: Up to 64 items support by changing Value and DefaultValue property types to Int64.
[*] TLMDWindowProc: Finalization workaround for Halt before Application.Run case.
[-] TLMDStatusBar design-time but fix.
[-] LMDMessageBoxDlg.ShowMessage dialog height bug fix.
[-] Window hooks access violation bug fix.
[-] TLMDButton: design-time styling bug fix.
[-] TLMDButton: virtual image list issue woraround.
[-] TLMDHeaderListComboBox - Header sections font size bug fix.
[-] TLMDListBoxExt: Scrolling related fixes.
[-] TLMDHint: Long hints positioning bug fix.
[-] TLMDHint: MaxWidth in HTML mode bug fix.
[-] TLMDCaptionButtons: Invalid layouting in Delphi 11 bug fix (GetSystemMetrics in different IDEs).
[-] TLMDComboBoxExt, TLMDListBoxExt: High DPI scaling related fixes. Support for Delphi 11 DPI-aware form designer.
[-] TLMDHint: Sizing and large html-text flickering fixes.
[-] TLMDTrayIcon: Doubling popups hints in Win10/11, when Animated = True bug fix.
[-] TLMDMaskEdit: Currency settings symbol bug fix.
[-] TLMDProgress: Drawing bug fix.
[-] TLMDHint: Layouting bug fix.
[-] TLMDInputDlg: dialog layouting bug, in case when MultilinePrompt = True.
[-] TLMDFileCtrl: File size bug fix (type changed from LongInt to Int64).
[-] TLMDTrackBar: MinValue&MaxValue bug fix.

LMD ElPack

[+] TElSpinEdit: New ApplyMode property, which allow to defer the conversion of the typed Text to integer Value until OnExit.
[*] TElXTreeItem.Tag type has been changed to NativeInt. [*] TElComboBox: Showing vertical scroll-bar when Items.Count is big, and DropDownCount property value specifies more items than can fit on the screen.
[*] TElExplorerBar: Disabling unsupported by Delphi VCL-Styles.
[-] TElXTree: Virtual mode cell checkboxes click fix.
[-] TElCurrencyEdit: LinkedControl moving bug fix.
[-] TElPageControl: GDI resources leak buf fix.
[-] TElDbEdit, TElDbButtonEdit: Copy/Paste via hotkeys or context menu now properly turn the linked dataset into editing mode.
[*] SEC_NOCACHE flag disabled (in CreateFileMapping calls) for better virtualization/emulation support (x86 emulation on Windows ARM systems/VMs).

LMD DockingPack

[*] Panel.OnHeaderPopup event is now raised even if Panel.HeaderMenu = nil to allow custom behavior. [-] DockPanel.Release bug fix.

LMD DialogPack

[+] TJSDialog: New MaxContentHeight property. Auto constraining dialog content height to 80% of the screen height.
[-] TJSEditDialog: New etMaskEdit edit type. NewEditProperties.Mask property.
[-] TJSDialog: Performance optimization for long text messages (TJSCaption.PaintCaption, LTextHeight, SplitForWrapping).
[-] LMD-Dialog: Fixing some layouting issues in case big fonts are used in for password dialogs (password, confirm password, change passwrod).

LMD RichPack

[-] RichPack: C++ headers bug fix.
[-] TLMDRichSyntaxEdit: WordWrap default value bug fix.
[-] Removing std Windows _FILETIME, _LARGE_INTEGER AND _ULARGE_INTEGER declarations to prevent conflicts in C++.
[-] x64 bug fix (dwCookie callback parameter type).
[-] Small C++ related bug fix (replacing ULARGE_INTEGER with UInt64).

LMD GridPack

[+] Utility methods, like IncludeChange and SyncGridStore, in grid source base class. No more need to access protected grid members from custom data source.

LMD ShellPack

[-] ShellPack: Empty caption in shell actions bug fix.
[-] TLMDshellList - Preserving column sizes (DefaultColumns = True) while updating.
[-] TLMDShellList: x64 bug fux.

LMD SysPack

[-] TLMDSysWindowsObject: Windows 11 product name bug fix.

LMD IDE-Tools

[*] IDE-Tools: Moving service provider DCR files away from the run-time package unit.
[-] Fixes related to latest IDEs (D10.4 and D11) VCL Styles changes.

LMD ScriptPack

[-] Native languages try/except bug fix.
[-] Access Violation in ConvToVar when creating new objects bug fix.

LMD SyntaxEdit

[+] New TLMDEditView.SearchLastReplaceCanceled property, which allows to determine whether the replace operation has been canceled by the user via confirmation dialog's Cancel button.
[+] Reporting active schemes at the specified cursor point.
[-] CSS scheme modification (@media support).
[-] EditView.SearchLastReplaceCanceled bug fix.
[-] TLMDEditColorSchemeDialog: Access violation on loading invalid XML fix.

NG HTML

[+] New TNGHTMLButton control: Multiline, WordWrap. Content is horz/vert auto centered. Component editor with "Edit HTML..." context menu item. But, with OnClick event handler creation on component double-click.
[+] New TNGHTMLCheckBox and TNGHTMLRadioButton controls: Multiline, WordWrap. Left/Right Alignment. Focus rect around content. Group for radio button.
[+] New TNGHTMLGroupBox control: HTML Caption. [+] New TNGHTMLCheckGroup, TNGHTMLRadioGroup controls: Layout (Padding, Columns, Stretch/Center/Top, ItemHeight, ColumnGap), Alignment, WordWrap, OnClick. Check group: AllowGrayed, Checked[index], State[Index], ButtonEnabled[Index], Value, Grayed (UInt64, published), Radio group: Checked[Index], ButtonEnabled[Index], ItemIndex (published). Html in group caption.
[+] New TNGHTMLComboBox control: "List" mode only. WordWrap, multiline support. Separate edit and drop-down item settings: EditHeight, EditPadding, ItemHeight, ItemPadding. ItemAutoHeight, like in HTML list box. Customizable colors, like in HTML list box: SelectedColor, DisabledColor, SelectedFontColor, SelectedFontStyle. Content is auto centered vertically, like in HTML list box.
[+] New HTML controls icons.
[+] 32-bit images in NG HTML. [+] Multilevel sup/sub support. Using Unicode chars for unordered list item bullets.
[+] Vertial align support, for images, input and control items, valign = (baseline, middle, top, bottom). Aligns images/controls relative to text (which also means - text relative to images/controls). Default valign value is "middle".
[+] Image cache.
[+] Font cache.
[+] Dark themes link color.
[+] Per-control VCL Styles support. Styled designer support.
[+] New toolbar icons in the design-time HTML editor.
[+] New simple syntax highlighting in the design-time HTML editor.
[+] Cancel on Escape key press, apply on Ctrl+Enter key press in the design-time HTML editor.
[+] TNGHTMLStorage: component double click at design-time opens items collection editor.
[+] TNGHTMLStorage: item double click (or Ctrl+Enter press) at design-time in the items collection editor opens item HTML editor.
[*] TNGHTMLLabel: Default size changed to more appropriate value (100 x 17).
[+] TNGHTMLListBox: New WordWrap property.
[+] TNGHTMLListBox: New lbltMultiline enum value is added to LargeTextOptions property. Multiline property is removed.
[+] TNGHTMLListBox: New HorzGridMargin property.
[+] TNGHTMLListBox: New ItemPadding property. Default values are (2, 2, 2, 2). Margin property is removed.
[*] TNGHTMLListBox: ItemHeight & ItemAutoHeight - setting one property resets another.
[*] TNGHTMLListBox: Items content is now center aligned vertically.
[-] TNGHTMLListBox: Colors fixes: respecting Enabled, Focused, HideSelection and VCL Styles.
[-] TNGHTMLListBox: IsHtmlrelated fixes: item padding and vertical alignment in plain text mode.
[*] TNGHTMLListBox: HorzGridColor - VCL Styles support.
[+] TNGHTMLHeaderControl: New "Edit Sections" component editor menu item.
[+] TNGHTMLHeaderControl: New WordWrap property.
[*] TNGHTMLHeaderControl: Sections content is now center aligned vertically (including image).
[*] TNGHTMLHeaderControl: Some adequate hard-coded margins.
[*] TNGHTMLHeaderControl: Sections editor improvements: opens Html editor on item double click or Ctrl+Enter.
[*] TNGHTMLView: Caption property type is changed from string to TNGHTMLCaption to support HTML editor.
[*] TNGHTMLView: Full scrollbars rework.
[-] TNGHTMLView: Padding related fixes.
[-] TNGHTMLView: Drawing fixes (Html laytouing, Transparent).
[*] Big rework of everything. Many improvements.
[*] Big Html engine performance improvement.
[*] Rework of Alignment, VerticalAlignment/Layout, Padding, AutoSize, IsHtml. Works ok now in any combination.
[*] Rework of ParentBackground and DoubleBuffering.
[*] VCL Controls in HTML: Rework, bug fixes.
[*] Improved DPI support.
[*] "Disabled" coloring is greatly improved using colors blending. Default disabled colors are now match the corresponding themed colors.
[-] TNGHTMLPanel: Enabled fixes.
[-] TNGHTMLPanel: ShowCaption fixes.
[-] Text colors bug fix.
[-] Center/right aligned content with small available space width bug fix.
[-] LineGap before first line bug fix.

NG DialogPack

[+] New TNGTaskDialog.Clear method, VerificationChecked property.
[+] New TNGInputDialog.TemplateImages property. New TNGDialogs.InputBox(items: array) overrides.
[+] Disabling dialog emulation mode at design-time for new IDEs.

[Top]

Archive

[Top]