User Tools

Site Tools


SGJ Controls


Button with color styling and images display.

On Lazarus it uses bgrabitmap.

On Delphi it uses Direct2D on supported Delphi and Windows version and Canvas on older versions.


  • Caption - string, button text
  • Description - string, second line text (only if ShowDescription set to true)
  • ColorNormal - TColor, button color
  • ColorHover - TColor, color when mouse move
  • Images - TImagelist
  • ImageIndex - image index from imagelist
  • ShowDescription - boolean, if true then show second line with description
  • FontDescription - font for description
  • ShowBorder - if true then show border
  • BorderColor - TColor, border color
  • RoundedCorners - boolean, enable rounded corners
  • TitleOnCenter - Move title to center(only with ShowDescription=false and no images)


Toogle button, modern checkbox replacement.

Default compile configuration

{$IFDEF FPC}                       //Lazarus / FPC
  {$DEFINE SGJCTRL_W_BGRA}         //BGRABitmap draw only
//{$DEFINE SGJCTRL_W_Canvas}       //Canvas draw only
//{$DEFINE SGJCTRL_W_GDIPlUS}      //GDI PLUS draw only(and only on Windows)
{$ELSE}                            //Delphi:
//{$DEFINE SGJCTRL_W_Canvas}       //Canvas draw only
{$IF CompilerVersion >= 21}
	{$DEFINE SGJCTRL_W_D2D}    //Direct2D

On Delphi Direct2D is switched to Canvas if not supported. If enable Direct2D with GDI+, then switched D2D to GDI+ when not supported.

ButtonColor             :TColor
ButtonCheckedColor      :TColor
ButtonUnCheckedColor    :TColor
Caption                 :String
TextBeforeButton        :Boolean
Checked                 :Boolean


Label component with URL property. URL adress is executed with default system application when click. No additional code needed.


Panel component with customized border. Property:

  • Caption - string, if set, then panel display Header like groupbox.
  • BorderColor - TColor, border color
  • ShowBorder - boolean, if true then show border

Demo preview

en/projects/sgjcontrols.txt · Last modified: 2023/04/12 18:10 by sgj

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki