Difference between revisions of "ATButton"
From Free Pascal wiki
Jump to navigationJump to searchLine 20: | Line 20: | ||
* abuTextOnly: Show caption only. | * abuTextOnly: Show caption only. | ||
− | * abuIconOnly: Show icon only | + | * abuIconOnly: Show icon only. |
* abuTextIconHorz: Show icon and caption righter it. | * abuTextIconHorz: Show icon and caption righter it. | ||
* abuTextIconVert: Show icon and caption below it. | * abuTextIconVert: Show icon and caption below it. | ||
Line 28: | Line 28: | ||
* abuSeparatorVert: Show vertical separator line. | * abuSeparatorVert: Show vertical separator line. | ||
* abuCross: Show "x" mark only. | * abuCross: Show "x" mark only. | ||
+ | |||
+ | Icon can be set by 2 methods: | ||
+ | |||
+ | * prop Images: TImageList; with prop ImageIndex (used first) | ||
+ | * prop Picture: TPicture (used if no Images/ImageIndex is set) | ||
= Theme = | = Theme = |
Revision as of 16:45, 17 March 2017
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 Checkable means that click toggles Checked
- prop Focusable means that button can focus (and paint frame of other color if focused)
- prop Bitmap takes bitmap for button image
- 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.
- abuTextArrow: Show caption and dropdown arrow at the right edge.
- abuArrowOnly: Show dropdown arrow only.
- abuSeparatorHorz: Show horizontal separator line.
- abuSeparatorVert: Show vertical separator line.
- abuCross: Show "x" mark only.
Icon can be set by 2 methods:
- prop Images: TImageList; with prop ImageIndex (used first)
- prop Picture: TPicture (used if no Images/ImageIndex is set)
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
Homepage at github is https://github.com/Alexey-T/ATButtons
Requirements
Lazarus: 1.4.0.
Tested on: Win32 (Windows 7), Linux GTK2 or QT (Ubuntu 14.04), macOS (10.8).