Difference between revisions of "Lazarus Custom Drawn Package"
From Free Pascal wiki
Jump to navigationJump to searchSekelsenmat (talk | contribs) (New page: The package customdrawn.lpk is an under construction package containing all kinds of custom drawn components for Lazarus. ==TBitmappedButton== The control helps implementing an user inte...) |
m (Categorised page) |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | The package customdrawn.lpk is an under construction package containing all kinds of custom drawn components for Lazarus. | + | ==About== |
+ | The package customdrawn.lpk is an under construction package containing all kinds of custom drawn components for Lazarus. Read more about it in [[Lazarus Custom Drawn Controls]]. | ||
− | == | + | ==Advantages== |
+ | * Can be fully reliable in look, behavior and size across platforms | ||
+ | * Customizable look (skinnable in a reliable and cross-platform way) | ||
+ | * Ability to mix native and custom drawn controls. This is major difference with with using [fpGUI] or the [fpGUI Interface]: it can't mix native and ownerdrawn (fpgui) components in one application. | ||
+ | * They can be utilized in LCL interfaces if the native controls are too unreliable or if no native control exists or if the native controls cannot be used in a convinient way (because they are written in Java, for example) | ||
+ | |||
+ | ==Units== | ||
+ | |||
+ | ===customdrawncontrols.pas=== | ||
+ | |||
+ | See [[Lazarus Custom Drawn Controls]] | ||
+ | |||
+ | ===customdrawnextras.pas=== | ||
The control helps implementing an user interface which has buttons with an unusual look, such as is often found in games. The appearance of the button is defined by a set of raster images which are displayed for each state of the button, such as normal, focused, down. | The control helps implementing an user interface which has buttons with an unusual look, such as is often found in games. The appearance of the button is defined by a set of raster images which are displayed for each state of the button, such as normal, focused, down. | ||
+ | |||
+ | Location of the code in Lazarus: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/components/customdrawn/customdrawnextras.pas?view=markup&root=lazarus | ||
+ | |||
+ | Usage example: | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
+ | uses customdrawnextras; | ||
+ | |||
+ | var | ||
+ | ActionButton: TBitmappedButton; | ||
+ | begin | ||
+ | ActionButton := TBitmappedButton.Create(Self); | ||
+ | ActionButton.Options := [bboUseImageForSelection]; | ||
+ | ActionButton.TabStop := True; | ||
+ | ActionButton.OnClick := HandleActionButtonClick; | ||
+ | ActionButton.Tag := i; | ||
+ | ActionButton.Font.Size := 12; | ||
+ | ActionButton.Font.Name := 'Times New Roman'; | ||
+ | ActionButton.Font.Color := clWhite; | ||
+ | ActionButton.Parent := Self; | ||
+ | ActionButton.Visible := True; | ||
+ | ActionButton.Height := GetSkins().GetButton(sbSmall).Height; | ||
+ | ActionButton.Width := GetSkins().GetButton(sbSmall).Width; | ||
+ | ActionButton.Left := lLeft; | ||
+ | ActionButton.Top := lTop; | ||
+ | ActionButton.ImageBtn.Assign(GetSkins().GetButton(sbSmall)); | ||
+ | ActionButton.ImageBtnFocused.Assign(GetSkins().GetButtonFocused(sbSmall)); | ||
+ | ActionButton.ImageBtnDown.Assign(GetSkins().GetButtonDown(sbSmall)); | ||
+ | ActionButton.Caption := FModel.ActionButtons[i].Caption; | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Maintainers== | ||
+ | * [[User:Sekelsenmat|Felipe Monteiro de Carvalho]] | ||
+ | * JiXian Yang | ||
+ | |||
+ | == See Also == | ||
+ | |||
+ | *[[Lazarus Components Directory]] | ||
+ | |||
+ | [[Category:Packages]] | ||
+ | [[Category:Components]] | ||
+ | [[Category:Custom Drawn]] |
Latest revision as of 00:43, 19 February 2020
About
The package customdrawn.lpk is an under construction package containing all kinds of custom drawn components for Lazarus. Read more about it in Lazarus Custom Drawn Controls.
Advantages
- Can be fully reliable in look, behavior and size across platforms
- Customizable look (skinnable in a reliable and cross-platform way)
- Ability to mix native and custom drawn controls. This is major difference with with using [fpGUI] or the [fpGUI Interface]: it can't mix native and ownerdrawn (fpgui) components in one application.
- They can be utilized in LCL interfaces if the native controls are too unreliable or if no native control exists or if the native controls cannot be used in a convinient way (because they are written in Java, for example)
Units
customdrawncontrols.pas
See Lazarus Custom Drawn Controls
customdrawnextras.pas
The control helps implementing an user interface which has buttons with an unusual look, such as is often found in games. The appearance of the button is defined by a set of raster images which are displayed for each state of the button, such as normal, focused, down.
Location of the code in Lazarus: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/components/customdrawn/customdrawnextras.pas?view=markup&root=lazarus
Usage example:
uses customdrawnextras;
var
ActionButton: TBitmappedButton;
begin
ActionButton := TBitmappedButton.Create(Self);
ActionButton.Options := [bboUseImageForSelection];
ActionButton.TabStop := True;
ActionButton.OnClick := HandleActionButtonClick;
ActionButton.Tag := i;
ActionButton.Font.Size := 12;
ActionButton.Font.Name := 'Times New Roman';
ActionButton.Font.Color := clWhite;
ActionButton.Parent := Self;
ActionButton.Visible := True;
ActionButton.Height := GetSkins().GetButton(sbSmall).Height;
ActionButton.Width := GetSkins().GetButton(sbSmall).Width;
ActionButton.Left := lLeft;
ActionButton.Top := lTop;
ActionButton.ImageBtn.Assign(GetSkins().GetButton(sbSmall));
ActionButton.ImageBtnFocused.Assign(GetSkins().GetButtonFocused(sbSmall));
ActionButton.ImageBtnDown.Assign(GetSkins().GetButtonDown(sbSmall));
ActionButton.Caption := FModel.ActionButtons[i].Caption;
Maintainers
- Felipe Monteiro de Carvalho
- JiXian Yang