What began as a clever helper unit has now been completely re-engineered into a professional, native component package for Lazarus (LCL) and Delphi (VCL) applications. Instead of wrapping panels, BS Controls consists of true, dedicated components descending directly from TCustomControl.
This transition provides pixel-perfect rendering, robust event and focus handling, and seamless IDE integration. Designed around the elegant WinUI design language, BS Controls brings a sleek, modern, and theme-aware aesthetic directly to your Component Palette.
True Custom Controls: Built on a clean inheritance hierarchy starting from TBSCBase (TCustomControl), you can now compose your UI visually in the IDE designer. Lifecycle and memory are managed natively by the form/container owner!
WinUI Aesthetics: Sleek text boxes, memos, masks, dropdowns, and numeric spin edits featuring focus-sensing bottom borders.
Embedded Action Buttons: TBSCMaskEdit and TBSCEdit features an integrated Unicode/Wide character button (ideal for search or clear actions) with a dedicated OnButtonClick event.
Custom-Drawn Selectors: TBSCCheckBox and TBSCRadioButton are custom-rendered for a native WinUI Hero look.
Monochromatic Theming: BS Controls offers a simpler, lightweight approach for theming. Using just three core settings (Color, Font.Color, and IsDark) manageable via TBSCManager, you can instantly toggle and control your app's look.
All visual controls inherit from TBSCBase (TCustomControl), ensuring a unified foundation for painting and mouse tracking. Because they are native components, you simply drop them onto your form, and the IDE handles their ownership and destruction naturally.
Instead of handling memory lifecycle, the Manager acts as the brain for your application's UI theme.
Centralized Theme Switching: Changing themes manually control-by-control can be tedious. The Manager allows you to update the entire look of your application with a single method call by pushing updates to three core properties across all linked controls:
Color: The primary background/surface color.
Font.Color: The text color for proper contrast.
IsDark: A boolean toggle that adjusts internal rendering (like hover shades and focus borders) to perfectly match Dark or Light modes.
These components provide a striking modern Windows aesthetic, featuring thin borders on the top and sides, and a dynamic, color-changing solid border on the bottom when focused.
TBSCEdit (Mimics TEdit): Focus-sensing border, Embedded Unicode Button (Left/Right, OnButtonClick).
TBSCMemo (Mimics TMemo): Multi-line text input.
TBSMaskEdit (Mimics TMaskEdit): Masked data input.
TBSCComboBox (Mimics TComboBox): WinUI styled dropdown selection logic.
TBSCSpinEdit (Mimics: TSpinEdit): Integer entry with integrated modern spin buttons.
TBSCSpinEditFloat (Mimics TSpinEditFloat): Floating-point number entry.
Decoupled from legacy OS controls to guarantee a consistent, pixel-perfect modern look.
TBSCCheckBox (Mimics TCheckBox): Custom-drawn check box with modern WinUI Hero geometry.
TBSCRadioButton (Mimics TRadioButton): Custom-drawn circular radio button.
TBSCButton (Mimics TButton)
TBSCBitBtn (Mimics TBitBtn)
TBSCSpeedButton (Mimics TSpeedButton)
Transforms a container area into a toolbar.
Built to naturally host and layout TBSCSpeedButton instances.
TBSCGroupBox (Mimics TGroupBox): Draws a clean, theme-aware border around a section to neatly organize related controls.
A comprehensive demo project is included in the package, showing how to install the 13 visual controls and 1 non-visual component into your Lazarus/Delphi palette. It demonstrates setting up the TBSCManager to instantly toggle Light and Dark themes, and how to utilize the focus-sensing WinUI inputs.
I hope BS Controls becomes your go-to suite for building modern, elegant applications! I would love to hear your comments, suggestions, or critique.