Blog
All Blog Posts | Next Post | Previous Post
TMS VCL UI Pack 13.6: ARM, PDF Forms, and Practical VCL Improvements
Today

TMS VCL UI Pack keeps evolving, release after release, decade after decade. That long-term work shows up where Delphi & C++Builder developers actually notice it: support for new compiler and platform targets, better integration with evolving Windows capabilities, and small but meaningful additions that remove friction from day-to-day UI development.
Highlights in TMS VCL UI Pack 13.6
The most important additions in this release are:
- Support for the Windows on ARM EC platform
- PDF form field generation in TAdvPDFLib
- Color, brush style, and pen style selector support in the parameter controls
Other additions in 13.6 include:
- BeginUpdate/EndUpdate in TAdvOfficePager for faster bulk page creation
- AnimationSteps in TAdvOfficePager
- BookMarkMax in TAdvMemo
- Code folding for non-programming languages in TAdvMemo
- ItemAtXY in TAdvSearchList
- AutoDropDown in TAdvSearchEdit
- BorderColorFocused in Curvy Controls
Native platform progress: Windows on ARM EC support
TMS VCL UI Pack now leverages the Windows on ARM work introduced in Delphi 13.1. Embarcadero added support for building Windows on Arm applications using Arm64EC, which is Microsofts interoperability-friendly ARM application model for migrating existing desktop software. The good news for you: with Delphi 13.1, there isn't anything to do other than adding the Arm64EC target in your project and recompile your app for ARM.
PDF form field generation with TAdvPDFLib
The second major addition in 13.6 is PDF form field generation.
This extends the PDF library beyond static document output. You can now generate interactive PDFs with fillable fields directly from Delphi code.
For developers, this opens up several practical scenarios:
- Generating fillable business forms
- Exporting documents with editable fields
- Pre-filling part of a document while leaving user input areas open
- Building PDF-based workflows without relying on external tools
Instead of generating a PDF that only looks right, you can now generate one that is interactive as well.
The new form field generation supports:
- text edit fields
- memo fields
- password fields
- combo boxes
- list boxes
- check boxes
- grouped radio buttons
Basic workflow
- Create the PDF document
- Draw static labels and layout elements through Graphics
- Add interactive controls through FormFields
- Save the result
Here is a compact example:
procedure TForm1.BtnCreatePdfClick(Sender: TObject);
var
PDF: TAdvPDFLib;
begin
PDF := TAdvPDFLib.Create;
try
PDF.Header := '';
PDF.BeginDocument('customer-form.pdf');
PDF.NewPage;
PDF.Graphics.DrawText('Name', PointF(30, 30));
PDF.FormFields.AddEdit('name_field', RectF(100, 28, 260, 44));
PDF.Graphics.DrawText('Email', PointF(30, 55));
PDF.FormFields.AddEdit('email_field', RectF(100, 53, 260, 69));
PDF.Graphics.DrawText('Comments', PointF(30, 80));
PDF.FormFields.AddMemo('comments_field', RectF(100, 78, 260, 150));
PDF.EndDocument(True);
finally
PDF.Free;
end;
end;Here is a slightly richer example with a combo box and a checkbox:
procedure TForm1.BtnCreateSurveyClick(Sender: TObject);
var
PDF: TAdvPDFLib;
begin
PDF := TAdvPDFLib.Create;
try
PDF.Header := '';
PDF.BeginDocument('survey.pdf');
PDF.NewPage;
PDF.Graphics.DrawText('Priority', PointF(30, 30));
PDF.FormFields.AddComboBox(
'priority_field',
RectF(100, 28, 180, 44),
['High', 'Normal', 'Low']
);
PDF.Graphics.DrawText('Subscribe', PointF(30, 60));
PDF.FormFields.AddCheckBox('subscribe_field', RectF(100, 58, 116, 74), false);
PDF.EndDocument(True);
finally
PDF.Free;
end;
end;This results in:
Parameter controls: built-in color, brush, and pen style selectors
The third major addition in 13.6 is the extension of the parameter controls (TParamLabel, TParamListBox, TParamCheckListBox, TParamTreeView) with support for:
- Color selection
- Brush style selection
- Pen style selection
This is especially useful when building compact editors for drawing, reporting, diagrams, styling, or annotation features. The parameter editor that is used at design-time but can also be used at runtime now recognizes the corresponding parameter classes:
- COLOR
- BRUSH
- PEN
That means the selector UI is built into the control rather than being something you have to wire up manually.

Faster bulk updates and animation speed control in TAdvOfficePager
If you create large numbers of pages dynamically, wrapping those operations in BeginUpdate/EndUpdate for TAdvOfficePager avoids repeated intermediate updates and speeds up the process.
procedure TForm1.BuildPages;
var
I: Integer;
begin
AdvOfficePager1.BeginUpdate;
try
for I := 1 to 100 do
AdvOfficePager1.AddAdvPage.Caption := 'Page ' + IntToStr(I);
finally
AdvOfficePager1.EndUpdate;
end;
end;This is exactly the kind of small API addition that helps in real applications with dynamic tabbed interfaces.
The new AnimationSteps property gives direct control over animation speed of the page tab underlining moving from active to new activated tab.
procedure TForm1.FormCreate(Sender: TObject); begin AdvOfficePager1.AnimationSteps := 4; end;
TAdvMemo gets more editor control
- BookMarkMax is now public
- Code folding was extended to non-programming languages
procedure TForm1.FormCreate(Sender: TObject); begin AdvMemo1.BookMarkMax := 32; end;
- Configuration files
- Templates
- Structured text
- DSL-like content
- Markup or script-like data
TMyCustomStyler = class(TAdvCustomMemoStyler) protected function HasLanguageDelimiters: boolean; override; end;
Search controls: a little less friction
procedure TForm1.AdvSearchList1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Idx: Integer;
begin
Idx := AdvSearchList1.ItemAtXY(X, Y);
if Idx >= 0 then
AdvSearchList1.ItemIndex := Idx;
end;- Custom mouse handling
- Context menus
- Drag and drop
- Item-specific interactions
procedure TForm1.FormCreate(Sender: TObject); begin AdvSearchEdit1.AutoDropDown := True; end;
Curvy Controls: BorderColorFocused

Final thoughts
All this with backwards compatibility at the core of every evolution. We highlighted the most noticeable additions in this new release but of course, the full details on new features, improvements and fixes can be found in the version history. If you are new to TMS VCL UI Pack, you can discover this amazing collection of over 600 components via the fully functional and not time-limited trial version. If you purchased TMS VCL UI Pack years ago and want to be current again with the latest capabilities, there is a discount upgrade offer ready for you from the "My Products" page after login on our website.
Bruno Fierens
This blog post has not received any comments yet. Add a comment.
All Blog Posts | Next Post | Previous Post
