Difference between revisions of "LMD VCL 2025 - News"

From LMD
Jump to: navigation, search
(Created page with "{{Head-Getting started}}Category:Introduction '''LMD 2025 Minor releases:''' LMD 2025 History == General == === Support for IDEs and operating syste...")
 
(Common)
 
(66 intermediate revisions by 2 users not shown)
Line 16: Line 16:
  
 
=== Installers ===  
 
=== Installers ===  
* New universal installer for all LMD products. For a limited time installers with old installer technology will be provided in parallel.
+
* New universal installer for all LMD products
 
* 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 49: Line 49:
  
 
=== Free access to Git repositories for LMD VCL Complete ===
 
=== Free access to Git repositories for LMD VCL Complete ===
We moved our sources to new  git-based project structure. All VCL Complete 2025 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2025 license to connect to GitLab. SSO with credentials for customer area is supported).  
+
LMD VCL Complete 2025 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2025 license to connect to GitLab. SSO with credentials for customer area is supported.  
 
Check also [https://www.lmd.de/gitrepositories Quick overview] for more info.
 
Check also [https://www.lmd.de/gitrepositories Quick overview] for more info.
 
{{Top}}
 
{{Top}}
Line 63: Line 63:
 
Subscription period refers only to the right receiving free <b>major</b> version updates. <br>If your subscription expires, your licenses behaves like before (free minor updates until next major release, '''perpetual''' use of the current license).
 
Subscription period refers only to the right receiving free <b>major</b> version updates. <br>If your subscription expires, your licenses behaves like before (free minor updates until next major release, '''perpetual''' use of the current license).
 
*<i>How to renew</i><br>
 
*<i>How to renew</i><br>
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.  
+
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-2025, renewing will give you updates until 11-Dec-2026). 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.  
 
* <i>Will I receive notification mails to renew?</i><br>
 
* <i>Will I receive notification mails to renew?</i><br>
 
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”.
 
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”.
Line 70: Line 70:
 
<br>To reflect new changes we introduced a new [[LMD VCL - New Customer area|customer area]], where customers can review and check license status at one single place.
 
<br>To reflect new changes we introduced a new [[LMD VCL - New Customer area|customer area]], where customers can review and check license status at one single place.
 
<br>{{Top}}
 
<br>{{Top}}
 
  
 
== Package Changes ==
 
== Package Changes ==
  
=== NG HTML ===
+
=== General ===
 +
Support for 64bit designtime packages in RAD Studio 12.3 or higher!
  
Among other improvements the following new HTML controls has been introduced:
+
=== Component Icons ===
  
*[[File:Ad11ac23a5f4.png]] TNGHTMLButton
+
The component icons for all LMD VCL packages have been updated. The colour scheme has been adapted to the latest native colours of the Delphi IDE. Pixel-perfect icons are provided in 24x24 size, so you should change the component palette settings accordingly.
*[[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>
+
For older IDE versions that do not support icon transparency, the default clBtnFace background is blended with the icon images to achieve a nice look with minimal possible transparency-related artefacts.<br>
  
==== HTML engine enchancements ====
+
[[File:474969996CF5.png]] [[File:55A44D76AB6F.png]] [[File:9C3BACBFC048.png]] [[File:7F340286719C.png]]<br>
  
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>
+
<br>
 
+
=== LMD DockingPack ===
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.
+
[[File:ECE2979B3FB4.png]] [[File:2AED11725CB4.png]]<br>
*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 ====
+
In 2025 release DockingPack and its style editor receives important long awaited new features.<br>
  
[[File:7f78afc39a4e.png]]<br>
+
==== Layout saving and loading ====
  
What's new:
+
Now the layout can be saved skipping space zone content (tabbed documents) and as well as floating documents. The layout can be loaded back while preserving current space zone content (tabbed documents) and floating documents. New save and load method overloads include anddtional flags parameter to control this behavior:
  
*Caption property type is changed from string to TNGHTMLCaption to support HTML editor.
+
‎<syntaxhighlight lang="delphi" line>
*Full scrollbars rework.
+
DockManager.SaveToFile('layout.xml', [sfExcludeSpace, sfExcludeFloatDocs]);
*Padding related fixes.
+
DockManager.LoadFromFile('layout.xml', [lfPreserveSpace]);‎</syntaxhighlight>
*Drawing fixes (HTML laytouing, Transparent).
 
{{Top}}
 
  
==== New TNGHTMLButton control ====
+
Excluded zones:
  
[[File:Ad11ac23a5f4.png]]<br>
+
[[File:2C0A5509B0C4.png]]<br>
  
Features:
+
==== Floating panels Z-order ====
  
*Multiline text and WordWrap support.
+
Docking manager provides new FloatZOrder property with two possible values which allows to specify that floating tool panels (dkTool) should be always kept on top of document panels (dkDoc):
*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 ====
+
*foAllNormal
 +
*foToolFormsOnTop
  
[[File:9bd35abfc17d.png]] [[File:E233f4885b31.png]]<br>
+
[[File:FD5CB120F24F.png]]<br>
  
Features:
+
Delphi's implementation of stay-on-top forms are not suitable for multiple forms, resulting in flickering and some other issues. So, we had to reimplement the feature on low level, which may introduce slight behavior artefacts, and may not be fully compatible with Delphi's stay-on-top forms.
  
*Multiline text and WordWrap support.
+
==== High DPI 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 ====
+
Support for High DPI in DockingPack is improved up to extreme 400% value. Standard DPI values are: 100%, 125%, 150%, 175%, 200%, 250%, 300%, 350% and 400%:
  
[[File:02e90735b773.png]]<br>
+
[[File:EE8669A99040.png]]<br>
  
Features:
+
All included styles are reworked and modified accordingly:
  
*HTML in Caption.
+
[[File:17368BD8C7C8.png]]<br>
*Multiline and Wordwrap support in Caption.
 
*Delphi 11 and up features support: ShowFrame, HeaderFont, DefaultHeaderFont.
 
{{Top}}
 
  
==== New TNGHTMLCheckGroup and TNGHTMLRadioGroup controls ====
+
==== Style editor move mode ====
  
[[File:51cec0a45c5d.png]] [[File:1aea85387628.png]]<br>
+
New feature called the "Move Mode" is added to the DockingPack style editor. After activating with the dedicated tool bar button it allows to select a region on the style bitmap and highlight all its usages. The region can also be auto-selected by double clicking on the bitmap. The selection can be resized using mouse, inflated or deflated using Ctrl+Q and Ctrl+W hot keys. The region content can be moved using mouse, which allows to rearrange bitmap for editing purposes or bitmap size optimization purposes.
  
Features:
+
[[File:8A96435FB246.png]]<br>
  
*Many properties allowing to customize items placement, like Padding, Columns, Stretch/Center/Top, ItemHeight, ColumnGap.
+
==== More minor improvements ====
*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:
+
*Auto-selecting of near tab on current tab closing or undocking.
 
+
*New DefaultTabDock property, which allows to specify whether a dragging panel should be docked as a first tab or as a last tab when dropping over the central area of a cross hotspot.
*"List" mode only.
+
*Maximizing floating panels to current monitor workarea (do not hide OS taskbar).
*Multiline text and WordWrap support.
+
*New TLMDDockPanel.OnHighlightHeader event.
*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>
 
<br>
 +
=== LMD SyntaxEdit ===
  
[[File:F4ea6412bd89.png]]<br>
+
[[file:74434A43A993.png]]<br>
  
<br>
+
Color scheme token attributes are now support three states (on, off, inherited), which allows to follow inherit relation more correctly:
  
[[File:2ede3bb4c1ae.png]]<br>
+
[[File:B1CB46E3A648.png]]<br>
  
 
<br>
 
<br>
 +
=== LMD DialogPack ===
  
[[File:A790df05a5fd.png]]<br>
+
[[file:C5BFC1F8FF12.png]]<br>
  
<br>
+
Reordering of custom buttons and radio buttons has been added to the design-time dialog editor:<br>
  
[[File:Db3ef2d008eb.png]]<br>
+
[[File:B1236BA04C46.png]]<br>
  
 
<br>
 
<br>
 +
=== LMD ElPack ===
  
[[File:932956e6e060.png]]<br>
+
[[File:E18CB0C0D6D2.png]]<br>
  
<br>
+
Substantial performance optimization has been made for TElXTree control: faster drawing and resizing, as well, as supporting for more columns.<br>
 
 
[[File:5b7e5fc94dda.png]]<br>
 
 
 
<br>
 
 
 
[[File:46260e836313.png]]<br>
 
 
 
<br>
 
 
 
[[File:42247dadb8cf.png]]<br>
 
 
 
<br>
 
 
 
[[File:E2a7d7778420.png]]<br>
 
  
 
{{Top}}
 
{{Top}}
  
=== Other NG Packs ===
+
= Changes/Enhancements since initial LMD VCL 2024 release =
  
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.
+
=== Common ===
 
+
[+] Rework of component icons for all LMD VCL controls.<br>
==== NG Dialogs demos ====
+
[+] X64 design-time packages support for Delphi 12.3<br>
 
+
[+] Support for the new Win64x platform in RAD Studio 12 ('''Universal Installer only''', pre-compiled releases. Source code version supported Modern C++ projects already before). Please note: RAD Studio 12.1 is the minimum requirement for pre-compiled Athens installers.<br>
[[File:19011ce3d7b0.png]] [[File:445e6a61bd25.png]]<br>
+
[*] Universal Installer: Offline installation supported by providing zip files with all possible files for a specific IDE (trial and full version)<br>
 
+
[*] Universal Installer: Internally used DLLs are now signed to prevent false positives from  AV scanners<br>
New demos show:
+
[*] Several changes in Universal Installer (e.g. LMD Themes engine added to Legacy Package)<br>
 
 
*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 ===
 
=== LMD Tools ===
  
==== TLMDFontImageList component ====
+
[+] TLMDCalendar: New OnGetCellSettingsEx event with Year and Month parameters in addition to the Day parameter.<br>
 +
[+] TLMDCalculator and TLMDCalculatorDlg: New BtnWidth and BtnHeight properties for TLMDCalculatorDlg.<br>
 +
[+] TLMDCalculator and TLMDCalculatorDlg: New ImmediateValue property for TLMDCalculatorDlg.<br>
 +
[+] TLMDTrayIcon: Support for shorter balloon hint timeouts.<br>
 +
[+] TLMDSpellChecker: New SaveConfigIni and LoadConfigIni methods, which allows to merge spell checker settings into user's existing INI file.<br>
 +
[+] IDE-Tools: New TBitmap property editor.<br>
 +
[+] TLMDPanelShape: Anchors property has been published.<br>
 +
[+] TNGInputDialog: Command links related flags has been added.<br>
 +
[+] TLMDCalendar: New HideInactiveEvents property.<br>
 +
[+] TLMDCalendarDlg: New MinDate and MaxDate properties.<br>
 +
[+] TLMDDBCalendarEdit: New OnValidate event.<br>
 +
[+] LMDGlyph (button and other controls): LMDGuessGlyphNumber custom callback has been added.<br>
 +
[*] TLMDClock: High-DPI improvements (digital clock position and size).<br>
 +
[*] TLMDLEDLabel: High DPI scaling improvements.<br>
 +
[*] TLMDTrackBar: Do not fire OnChange event when Position property is changed while form loading.<br>
 +
[*] TLMDTrayIcon: More accurate Shift state in mouse events.<br>
 +
[-] TLMDCalculator and TLMDCalculatorDlg: "X squared" symbol fixed.<br>
 +
[-] TLMDCalculator and TLMDCalculatorDlg: Custom button auto-size fixed.<br>
 +
[-] TLMDCustomCheckGroup: doubling OnClick event bug fix.<br>
 +
[-] TLMDButton: NumGlyphs bug fix.<br>
 +
[-] TLMDClock: High DPI related bug fix.<br>
 +
[-] TLMDPanelFill: resize with stretched background bug fix.<br>
 +
[-] TLMDCalcendarEdit: StartDay default value is corrected to be 1 instead of invalid aero value.<br>
 +
[-] TLMDPanelShape: ParentBackground property has been published with False default value, like in TLMDPanelFill. Color property now has effect.<br>
 +
[-] TLMDStyleManager: Font.Name property is no longer excluded.<br>
 +
[-] TLMDFontComboBox: Example hint font bug fix.<br>
 +
[-] TLMDFormPersistence: IniLink property bug fix (IniCtrl from data module).<br>
 +
[-] TLMDListBox: fames and inherited forms related bug fix.<br>
 +
[-] LMD core dialogs High-DPI realated layout fixes.<br>
 +
[-] TLMDMemo: WantReturns bug fix.<br>
 +
[-] TLMDListBox: frames/form-inheritance related bug fix.<br>
 +
[-] TLMDButton: Drawing with VCL Styles bug fix (Canvas.Lock).<br>
 +
[-] TLMDSysSystemInfo: FillCPUInfo asm function bug fix for x64 platform.<br>
 +
[-] LMDTrackBar: TabStop bug fix.<br>
  
[[File:3746D54SDG.png]] <br>
+
=== LMD ElPack ===
  
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.
+
[+] New TElMenuBar.InMenu property.<br>
 +
[+] ElSideBar: HighDPI support.<br>
 +
[+] TElAppBar: New SetEdgeEx method, which allows to specify monitor index.<br>
 +
[+] ElFloatSpinEdit: New ApplyMode property, which allows to defer typed text paring until focus exit.<br>
 +
[*] TElTreeView.GetVisCount2 improvement.<br>
 +
[-] ElTree: Text drawing bug fix.<br>
 +
[-] TElPromptDialog: DFM fixes.<br>
 +
[-] TElTree, TElXTree: header section editor popup menus bug.<br>
 +
[-] ElXTree: Control (inplace memo) has no parent window bud fix.<br>
 +
[-] TElPageControl: TLMDStyleManager compatibility fix.<br>
  
[[File:A36639a82618.png]]<br>
+
=== LMD DockingPack ===
  
==== TLMDGlobalHotKey component ====
+
[+] Style Editor: New "move mode" tool.<br>
 +
[+] DPI support up to 400%.<br>
 +
[+] Saving/loading layout, while leaving tabbed panels untouched.<br>
 +
[+] Keeping floating tool panels (dkTool) on top of document panels (dkDoc).<br>
 +
[+] New DefaultTabDock property, which allows to specify whether a dragging panel should be docked as a first tab or as a last tab when dropping over the central area of a cross hotspot.<br>
 +
[+] Selecting of near tab on current tab closing or undocking.<br>
 +
[+] Maximizing floating panels to current monitor workarea (do not hide OS taskbar).<br>
 +
[+] New TLMDDockPanel.OnHighlightHeader event.<br>
  
[[File:79c49490d183.png]]<br>
+
=== LMD RichPack ===
  
"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>
+
[-] TLMDRichSyntaxEdit: Syntax scheme loading bug fix.<br>
 
+
[-] TLMDRichEdit: PageMargins (Top, Bottom) bug fix.<br>
==== TLMDLight ====
+
[-] TLMDRichEdit: Printer selection bug fix.<br>
 
 
[[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 ===
 
=== 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>
+
[+] New Column.OnAfterEdit event.<br>
 
+
[-] Drawing artefacts with DPI >= 150% bug fix (scaled line width).<br>
*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 "2025.0" in Delphi's splash screen and about box.<br>
 
[+] New NG DemoCenter which includes new dialogs, drag&drop, HTML and serialization demos.<br>
 
[+] New component icons for DockPack, GridPack, ScriptPack and TLMDServiceProvider components.<br>
 
[+] All installers were updated and fixed a problem which required system restart even for first time installation.<br>
 
[*] Packages for RAD Studio 11 Alexandria were compiled and tested against the latest 11.2 update<br>
 
[*] Packages for RAD Studio 11 Alexandria were compiled and tested against the latest 11.3 update<br>
 
 
 
=== LMD Tools ===
 
 
 
[+] Font image list: Support for code point values greater than High(Char).<br>
 
[+] TLMDGlobalHotKey: Win key support.<br>
 
[+] TLMDHint: New CancelHint method. VCL Styles related fixes.<br>
 
[+] TLMDCalculator: New BtnWidth and BtnHeight properties.<br>
 
[+] TLMDCalculatorComboBox: Adjusting drop-down calculator font sizes to fit the combo box font sze.<br>
 
[+] Windows Server 2022 detection.<br>
 
[*] TLMDTaskDialog: redeclaring the TLMDTaskDlgIcon type and changing icon kind names: tdiWarning -> diWarning, tdiQuestion -> diQuestion, etc. to prevent conflicts with standard TTaskDialogIcon type.<br>
 
[*] TLMDCheckListDlg: Up to 64 items support by changing Value and DefaultValue property types to Int64.<br>
 
[*] TLMDWindowProc: Finalization workaround for Halt before Application.Run case.<br>
 
[-] TLMDStatusBar design-time but fix.<br>
 
[-] LMDMessageBoxDlg.ShowMessage dialog height bug fix.<br>
 
[-] Window hooks access violation bug fix.<br>
 
[-] TLMDButton: design-time styling bug fix.<br>
 
[-] TLMDButton: virtual image list issue woraround.<br>
 
[-] TLMDHeaderListComboBox - Header sections font size bug fix.<br>
 
[-] TLMDListBoxExt: Scrolling related fixes.<br>
 
[-] TLMDHint: Long hints positioning bug fix.<br>
 
[-] TLMDHint: MaxWidth in HTML mode bug fix.<br>
 
[-] TLMDCaptionButtons: Invalid layouting in Delphi 11 bug fix (GetSystemMetrics in different IDEs).<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 ===
 
 
 
[+] TElSpinEdit: New ApplyMode property, which allow to defer the conversion of the typed Text to integer Value until OnExit.<br>
 
[*] 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.<br>
 
[*] TElExplorerBar: Disabling unsupported by Delphi VCL-Styles.<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 ===
  
[+] TJSDialog: New MaxContentHeight property. Auto constraining dialog content height to 80% of the screen height.<br>
+
[+] Moving custom buttons and radio buttons up/down at design time.<br>
[-] TJSEditDialog: New etMaskEdit edit type. NewEditProperties.Mask property.<br>
+
[-] TJSDualEditDialog: Assign dual properties bug fix.<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 ===
 
 
 
[-] RichPack: C++ headers bug fix.<br>
 
[-] TLMDRichSyntaxEdit: WordWrap default value bug fix.<br>
 
[-] Removing std Windows _FILETIME, _LARGE_INTEGER AND _ULARGE_INTEGER declarations to prevent conflicts in C++.<br>
 
[-] x64 bug fix (dwCookie callback parameter type).<br>
 
[-] Small C++ related bug fix (replacing ULARGE_INTEGER with UInt64).<br>
 
  
=== LMD GridPack ===
+
=== LMD PrintPack ===
  
[+] Utility methods, like IncludeChange and SyncGridStore, in grid source base class. No more need to access protected grid members from custom data source.<br>
+
[-] LMD Print: Preview status bar (and dialog) high-DPI related bug fixes.<br>
  
=== LMD ShellPack ===
+
=== LMD IDE Tools ===
  
[-] ShellPack: Empty caption in shell actions bug fix.<br>
+
[-] TLMDDesigner: Failed assertion on close bug fix (VCL Styles related).<br>
[-] TLMDshellList - Preserving column sizes (DefaultColumns = True) while updating.<br>
 
[-] TLMDShellList: x64 bug fux.<br>
 
  
=== LMD SysPack ===
+
=== LMD SyntaxEdit ===
  
[-] TLMDSysWindowsObject: Windows 11 product name bug fix.<br>
+
[+] Three states (on, off, inherited) for color scheme font sttributes.<br>
 +
[-] Win64x linking problem fix.<br>
 +
[-] x64 bug fix (LongInt -> Pointer).<br>
 +
[-] Pring page setup dialog x64 bug fix.<br>
 +
[-] reporting active schemes at the specified cursor point.<br>
  
=== LMD IDE-Tools ===
+
=== NG Dialogs ===
  
[*] IDE-Tools: Moving service provider DCR files away from the run-time package unit.<br>
+
[+] Editing custom buttons modal result at design time.<br>
[-] Fixes related to latest IDEs (D10.4 and D11) VCL Styles changes.<br>
+
[-] Design-time dialog layouting fix.<br>
  
=== LMD ScriptPack ===  
+
=== NG ConnectionPack ===
  
[-] Native languages try/except bug fix.<br>
+
[-] Auth local HTTP server bug fix.<br>
[-] Access Violation in ConvToVar when creating new objects bug fix.<br>
 
  
=== LMD SyntaxEdit ===
+
=== NG Serialization ===
  
[+] 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>
+
[-] Update of supplemental files to support the current state of third-party libraries (SuperObject, OmniXML and NativeXLM).<br>
[+] Reporting active schemes at the specified cursor point.<br>
 
[-] CSS scheme modification (@media support).<br>
 
[-] EditView.SearchLastReplaceCanceled bug fix.<br>
 
[-] TLMDEditColorSchemeDialog: Access violation on loading invalid XML fix.<br>
 
  
=== NG HTML ===
+
=== NG HTMLPack ===
  
[+] 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>
+
[-] HTMLEngine: Paragraph indent fix.<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 ===
+
=== Legacy ===
  
[+] New TNGTaskDialog.Clear method, VerificationChecked property.<br>
+
[-] TLMDTextContainer: Memory leaks fix.<br>
[+] New TNGInputDialog.TemplateImages property. New TNGDialogs.InputBox(items: array) overrides.<br>
 
[+] Disabling dialog emulation mode at design-time for new IDEs.
 
  
 
{{Top}}
 
{{Top}}

Latest revision as of 13:24, 15 April 2025

<< Back to Getting started page

[edit]

LMD 2025 Minor releases: LMD 2025 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
  • 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 2025 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 2025 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

LMD VCL Complete 2025 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2025 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-2025, renewing will give you updates until 11-Dec-2026). 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

General

Support for 64bit designtime packages in RAD Studio 12.3 or higher!

Component Icons

The component icons for all LMD VCL packages have been updated. The colour scheme has been adapted to the latest native colours of the Delphi IDE. Pixel-perfect icons are provided in 24x24 size, so you should change the component palette settings accordingly.

For older IDE versions that do not support icon transparency, the default clBtnFace background is blended with the icon images to achieve a nice look with minimal possible transparency-related artefacts.

474969996CF5.png 55A44D76AB6F.png 9C3BACBFC048.png 7F340286719C.png


LMD DockingPack

ECE2979B3FB4.png 2AED11725CB4.png

In 2025 release DockingPack and its style editor receives important long awaited new features.

Layout saving and loading

Now the layout can be saved skipping space zone content (tabbed documents) and as well as floating documents. The layout can be loaded back while preserving current space zone content (tabbed documents) and floating documents. New save and load method overloads include anddtional flags parameter to control this behavior:

1 DockManager.SaveToFile('layout.xml', [sfExcludeSpace, sfExcludeFloatDocs]);
2 DockManager.LoadFromFile('layout.xml', [lfPreserveSpace]);

Excluded zones:

2C0A5509B0C4.png

Floating panels Z-order

Docking manager provides new FloatZOrder property with two possible values which allows to specify that floating tool panels (dkTool) should be always kept on top of document panels (dkDoc):

  • foAllNormal
  • foToolFormsOnTop

FD5CB120F24F.png

Delphi's implementation of stay-on-top forms are not suitable for multiple forms, resulting in flickering and some other issues. So, we had to reimplement the feature on low level, which may introduce slight behavior artefacts, and may not be fully compatible with Delphi's stay-on-top forms.

High DPI support

Support for High DPI in DockingPack is improved up to extreme 400% value. Standard DPI values are: 100%, 125%, 150%, 175%, 200%, 250%, 300%, 350% and 400%:

EE8669A99040.png

All included styles are reworked and modified accordingly:

17368BD8C7C8.png

Style editor move mode

New feature called the "Move Mode" is added to the DockingPack style editor. After activating with the dedicated tool bar button it allows to select a region on the style bitmap and highlight all its usages. The region can also be auto-selected by double clicking on the bitmap. The selection can be resized using mouse, inflated or deflated using Ctrl+Q and Ctrl+W hot keys. The region content can be moved using mouse, which allows to rearrange bitmap for editing purposes or bitmap size optimization purposes.

8A96435FB246.png

More minor improvements

  • Auto-selecting of near tab on current tab closing or undocking.
  • New DefaultTabDock property, which allows to specify whether a dragging panel should be docked as a first tab or as a last tab when dropping over the central area of a cross hotspot.
  • Maximizing floating panels to current monitor workarea (do not hide OS taskbar).
  • New TLMDDockPanel.OnHighlightHeader event.


LMD SyntaxEdit

74434A43A993.png

Color scheme token attributes are now support three states (on, off, inherited), which allows to follow inherit relation more correctly:

B1CB46E3A648.png


LMD DialogPack

C5BFC1F8FF12.png

Reordering of custom buttons and radio buttons has been added to the design-time dialog editor:

B1236BA04C46.png


LMD ElPack

E18CB0C0D6D2.png

Substantial performance optimization has been made for TElXTree control: faster drawing and resizing, as well, as supporting for more columns.

[Top]

Changes/Enhancements since initial LMD VCL 2024 release

Common

[+] Rework of component icons for all LMD VCL controls.
[+] X64 design-time packages support for Delphi 12.3
[+] Support for the new Win64x platform in RAD Studio 12 (Universal Installer only, pre-compiled releases. Source code version supported Modern C++ projects already before). Please note: RAD Studio 12.1 is the minimum requirement for pre-compiled Athens installers.
[*] Universal Installer: Offline installation supported by providing zip files with all possible files for a specific IDE (trial and full version)
[*] Universal Installer: Internally used DLLs are now signed to prevent false positives from AV scanners
[*] Several changes in Universal Installer (e.g. LMD Themes engine added to Legacy Package)

LMD Tools

[+] TLMDCalendar: New OnGetCellSettingsEx event with Year and Month parameters in addition to the Day parameter.
[+] TLMDCalculator and TLMDCalculatorDlg: New BtnWidth and BtnHeight properties for TLMDCalculatorDlg.
[+] TLMDCalculator and TLMDCalculatorDlg: New ImmediateValue property for TLMDCalculatorDlg.
[+] TLMDTrayIcon: Support for shorter balloon hint timeouts.
[+] TLMDSpellChecker: New SaveConfigIni and LoadConfigIni methods, which allows to merge spell checker settings into user's existing INI file.
[+] IDE-Tools: New TBitmap property editor.
[+] TLMDPanelShape: Anchors property has been published.
[+] TNGInputDialog: Command links related flags has been added.
[+] TLMDCalendar: New HideInactiveEvents property.
[+] TLMDCalendarDlg: New MinDate and MaxDate properties.
[+] TLMDDBCalendarEdit: New OnValidate event.
[+] LMDGlyph (button and other controls): LMDGuessGlyphNumber custom callback has been added.
[*] TLMDClock: High-DPI improvements (digital clock position and size).
[*] TLMDLEDLabel: High DPI scaling improvements.
[*] TLMDTrackBar: Do not fire OnChange event when Position property is changed while form loading.
[*] TLMDTrayIcon: More accurate Shift state in mouse events.
[-] TLMDCalculator and TLMDCalculatorDlg: "X squared" symbol fixed.
[-] TLMDCalculator and TLMDCalculatorDlg: Custom button auto-size fixed.
[-] TLMDCustomCheckGroup: doubling OnClick event bug fix.
[-] TLMDButton: NumGlyphs bug fix.
[-] TLMDClock: High DPI related bug fix.
[-] TLMDPanelFill: resize with stretched background bug fix.
[-] TLMDCalcendarEdit: StartDay default value is corrected to be 1 instead of invalid aero value.
[-] TLMDPanelShape: ParentBackground property has been published with False default value, like in TLMDPanelFill. Color property now has effect.
[-] TLMDStyleManager: Font.Name property is no longer excluded.
[-] TLMDFontComboBox: Example hint font bug fix.
[-] TLMDFormPersistence: IniLink property bug fix (IniCtrl from data module).
[-] TLMDListBox: fames and inherited forms related bug fix.
[-] LMD core dialogs High-DPI realated layout fixes.
[-] TLMDMemo: WantReturns bug fix.
[-] TLMDListBox: frames/form-inheritance related bug fix.
[-] TLMDButton: Drawing with VCL Styles bug fix (Canvas.Lock).
[-] TLMDSysSystemInfo: FillCPUInfo asm function bug fix for x64 platform.
[-] LMDTrackBar: TabStop bug fix.

LMD ElPack

[+] New TElMenuBar.InMenu property.
[+] ElSideBar: HighDPI support.
[+] TElAppBar: New SetEdgeEx method, which allows to specify monitor index.
[+] ElFloatSpinEdit: New ApplyMode property, which allows to defer typed text paring until focus exit.
[*] TElTreeView.GetVisCount2 improvement.
[-] ElTree: Text drawing bug fix.
[-] TElPromptDialog: DFM fixes.
[-] TElTree, TElXTree: header section editor popup menus bug.
[-] ElXTree: Control (inplace memo) has no parent window bud fix.
[-] TElPageControl: TLMDStyleManager compatibility fix.

LMD DockingPack

[+] Style Editor: New "move mode" tool.
[+] DPI support up to 400%.
[+] Saving/loading layout, while leaving tabbed panels untouched.
[+] Keeping floating tool panels (dkTool) on top of document panels (dkDoc).
[+] New DefaultTabDock property, which allows to specify whether a dragging panel should be docked as a first tab or as a last tab when dropping over the central area of a cross hotspot.
[+] Selecting of near tab on current tab closing or undocking.
[+] Maximizing floating panels to current monitor workarea (do not hide OS taskbar).
[+] New TLMDDockPanel.OnHighlightHeader event.

LMD RichPack

[-] TLMDRichSyntaxEdit: Syntax scheme loading bug fix.
[-] TLMDRichEdit: PageMargins (Top, Bottom) bug fix.
[-] TLMDRichEdit: Printer selection bug fix.

LMD GridPack

[+] New Column.OnAfterEdit event.
[-] Drawing artefacts with DPI >= 150% bug fix (scaled line width).

LMD DialogPack

[+] Moving custom buttons and radio buttons up/down at design time.
[-] TJSDualEditDialog: Assign dual properties bug fix.

LMD PrintPack

[-] LMD Print: Preview status bar (and dialog) high-DPI related bug fixes.

LMD IDE Tools

[-] TLMDDesigner: Failed assertion on close bug fix (VCL Styles related).

LMD SyntaxEdit

[+] Three states (on, off, inherited) for color scheme font sttributes.
[-] Win64x linking problem fix.
[-] x64 bug fix (LongInt -> Pointer).
[-] Pring page setup dialog x64 bug fix.
[-] reporting active schemes at the specified cursor point.

NG Dialogs

[+] Editing custom buttons modal result at design time.
[-] Design-time dialog layouting fix.

NG ConnectionPack

[-] Auth local HTTP server bug fix.

NG Serialization

[-] Update of supplemental files to support the current state of third-party libraries (SuperObject, OmniXML and NativeXLM).

NG HTMLPack

[-] HTMLEngine: Paragraph indent fix.

Legacy

[-] TLMDTextContainer: Memory leaks fix.

[Top]

Archive

[Top]