Blog

All Blog Posts  |  Next Post  |  Previous Post

A Long-Awaited Upgrade for Context Menus in Delphi

Today

A Modern, Cross-Platform Popup Menu for Delphi Developers


At TMS Software, we're committed to delivering developer tools that empower you to build modern, intuitive UIs with minimal effort. Today, we’re thrilled to introduce a brand-new addition to TMS FNC Core: TTMSFNCPopupMenu.

Whether you're working with Windows or macOS, this powerful component helps you create professional context menus — complete with embedded controls and extensive styling options — all with just a few lines of code.

TMS Software Delphi  Components


Why use our PopupMenu?

✅ Fully customizable appearance (colors, corners, gradients, fonts)

✅ Hierarchical sub-menus

✅ Built-in support for checkable items and radio groups

✅ Embed simple controls like TEdit, TButton, and more

✅ Toolbar-like item support with icons

✅ Virtually create your menu at the moment

✅ Seamless compatibility in Desktop Frameworks


Minimal Setup

Using TTMSFNCPopupMenu is as simple as dropping the component onto a form and building your menu tree. You can define your items at design-time or build them dynamically.

TMS Software Delphi  Components

procedure Form.AddItems;
var
  MenuItem: TTMSFNCMenuItem;
begin
  TMSFNCPopupMenu.AddMenuItem('Copy').OnClick := CopyClick;
  TMSFNCPopupMenu.AddMenuSeparatorItem;
  TMSFNCPopupMenu.AddMenuItem('Small', mitCheck).GroupName := 'Size';
  TMSFNCPopupMenu.AddMenuItem('Medium', mitCheck).GroupName := 'Size';  
  
  MenuItem := TMSFNCPopupMenu.AddMenuItem('Large', mitCheck);
  MenuItem.GroupName := 'Size';
  MenuItem.Checked := True;  
end;


Full Appearance Customization

Style your menu to match your application theme — from colors and fonts to rounded corners and hover effects.
On a popup menu level, or specified to a single menu item.

TMS Software Delphi  Components

Embed Controls

You’re not limited to static items — embed edit fields, buttons, sliders, or any FMX/VCL controls right into your popup menu.

TMS Software Delphi  Components

uses
  ..., FMX.TMSFNCPopupMenu, FMX.TMSFNCCustomControl, FMX.Edit;

procedure TForm1.AddEmbeddedControls;
var
  MenuItem: TTMSFNCMenuItem;
  SearchEdit: TEdit;
  VolumeSlider: TTrackBar;
begin
  // Add search box
  MenuItem := TMSFNCPopupMenu1.AddMenuItem('', mitDefault);
  MenuItem.Selectable := False;
  
  SearchEdit := TEdit.Create(Self);
  SearchEdit.Width := 150;
  SearchEdit.Height := 22;
  SearchEdit.TextPrompt := 'Search...';
  
  MenuItem.Control := SearchEdit;
  MenuItem.ControlAlignment := caClient;
  
  TMSFNCPopupMenu1.AddMenuSeparatorItem;
  
  // Add volume slider
  MenuItem := TMSFNCPopupMenu1.AddMenuItem('Volume:', mitDefault);
  MenuItem.Selectable := False;
  
  VolumeSlider := TTrackBar.Create(Self);
  VolumeSlider.Width := 100;
  VolumeSlider.Min := 0;
  VolumeSlider.Max := 100;
  VolumeSlider.Value := 75;
  
  MenuItem.Control := VolumeSlider;
  MenuItem.ControlAlignment := caRight;
end;

Try it out NOW

TTMSFNCPopupMenu is included in the latest TMS FNC Core release.


What Will You Build?

Whether you use TTMSFNCPopupMenu for a sleek toolbar, interactive data filters, or custom admin tools — the possibilities are endless. And if you're already using our other components, this new menu offers even more integration potential.

Let us know how you use it! Share your feedback, feature requests, or demos with us via the TMS Support Center.




Gjalt Vanhouwaert




This blog post has not received any comments yet.



Add a new comment

You will receive a confirmation mail with a link to validate your comment, please use a valid email address.
All fields are required.



All Blog Posts  |  Next Post  |  Previous Post