ATButton
From Lazarus wiki
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
About
ATButton is OS-independant button component, flat look. Button as usual has Caption, OnClick.
- button state can be: usual (default: light gray), mouse-over (light gray), checked (dark gray), disabled (red-gray)
- buttons have border of 1..n pixels
- prop Caption
- prop Checkable means that click toggles Checked
- prop Focusable means that button can focus (and paint frame of other color if focused)
- prop Flat: passive (not under cursor) button don't paint its backgnd and border
- prop Kind: button can have several kinds.
Author: Alexey Torgashin
Kinds of buttons
Buttons can have these Kind values:
- abuTextOnly: Show caption only.
- abuIconOnly: Show icon only.
- abuTextIconHorz: Show icon and caption righter it.
- abuTextIconVert: Show icon and caption below it.
- abuSeparatorHorz: Show horizontal separator line.
- abuSeparatorVert: Show vertical separator line.
Icon can be set by 2 ways:
- prop Images: TImageList; with prop ImageIndex (used first)
- prop Picture: TPicture (used if no Images/ImageIndex is set)
To paint also drop-down arrow on the right side, set Arrow=True. To make button with arrow only, set Kind=abuTextOnly and Arrow=True.
Theme
Colors/fonts of all buttons defined by global var, of type like this
type
TATButtonTheme = record
FontName: string;
FontSize: integer;
FontStyles: TFontStyles;
ColorFont,
ColorFontDisabled,
ColorBgPassive,
ColorBgOver,
ColorBgChecked,
ColorBgDisabled,
ColorArrow,
ColorBorderPassive,
ColorBorderOver,
ColorBorderFocused: TColor;
MouseoverBorderWidth: integer;
PressedBorderWidth: integer;
PressedCaptionShiftY: integer;
PressedCaptionShiftX: integer;
end;
var
ATButtonTheme: TATButtonTheme;
License
MPL 2.0 or LGPL.
Download
GitHub repository: https://github.com/Alexey-T/ATFlatControls