mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-02 12:52:44 +02:00
customdrawn: Starts implementing toolbar support
git-svn-id: trunk@48818 -
This commit is contained in:
parent
e1a9dcda81
commit
cb635d6b2a
8
.gitattributes
vendored
8
.gitattributes
vendored
@ -1026,6 +1026,14 @@ components/customdrawn/customdrawnimages/build.bat svneol=native#text/plain
|
||||
components/customdrawn/customdrawnimages/windows7.res -text
|
||||
components/customdrawn/customdrawnimages/windows7_button.bmp -text
|
||||
components/customdrawn/customdrawnlcldrawers.pas svneol=native#text/plain
|
||||
components/customdrawn/examples/controls/cdcontrolstest.ico -text
|
||||
components/customdrawn/examples/controls/cdcontrolstest.lpi svneol=native#text/plain
|
||||
components/customdrawn/examples/controls/cdcontrolstest.lpr svneol=native#text/plain
|
||||
components/customdrawn/examples/controls/cdcontrolstest.res -text
|
||||
components/customdrawn/examples/controls/mainform.lfm svneol=native#text/plain
|
||||
components/customdrawn/examples/controls/mainform.pas svneol=native#text/plain
|
||||
components/customdrawn/examples/controls/toolbartest.lfm svneol=native#text/plain
|
||||
components/customdrawn/examples/controls/toolbartest.pas svneol=native#text/plain
|
||||
components/customdrawn/paletteimg.res -text
|
||||
components/customdrawn/resources/build.bat svneol=native#text/pascal
|
||||
components/customdrawn/resources/paletteimg.txt svneol=native#text/pascal
|
||||
|
BIN
components/customdrawn/examples/controls/cdcontrolstest.ico
Normal file
BIN
components/customdrawn/examples/controls/cdcontrolstest.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 134 KiB |
87
components/customdrawn/examples/controls/cdcontrolstest.lpi
Normal file
87
components/customdrawn/examples/controls/cdcontrolstest.lpi
Normal file
@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="9"/>
|
||||
<General>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
<MainUnit Value="0"/>
|
||||
<Title Value="cdcontrolstest"/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<Icon Value="0"/>
|
||||
</General>
|
||||
<i18n>
|
||||
<EnableI18N LFM="False"/>
|
||||
</i18n>
|
||||
<VersionInfo>
|
||||
<StringTable ProductVersion=""/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="1">
|
||||
<Item1 Name="Default" Default="True"/>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="1">
|
||||
<Item1>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="3">
|
||||
<Unit0>
|
||||
<Filename Value="cdcontrolstest.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="cdcontrolstest"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="mainform.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="formCDControlsTest"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="mainform"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="toolbartest.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="FormToolBar"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="toolbartest"/>
|
||||
</Unit2>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<Target>
|
||||
<Filename Value="cdcontrolstest"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<Linking>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions Count="3">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item3>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
22
components/customdrawn/examples/controls/cdcontrolstest.lpr
Normal file
22
components/customdrawn/examples/controls/cdcontrolstest.lpr
Normal file
@ -0,0 +1,22 @@
|
||||
program cdcontrolstest;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, mainform, toolbartest
|
||||
{ you can add units after this };
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
RequireDerivedFormResource:=True;
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TformCDControlsTest, formCDControlsTest);
|
||||
Application.CreateForm(TFormToolBar, FormToolBar);
|
||||
Application.Run;
|
||||
end.
|
||||
|
BIN
components/customdrawn/examples/controls/cdcontrolstest.res
Normal file
BIN
components/customdrawn/examples/controls/cdcontrolstest.res
Normal file
Binary file not shown.
37
components/customdrawn/examples/controls/mainform.lfm
Normal file
37
components/customdrawn/examples/controls/mainform.lfm
Normal file
@ -0,0 +1,37 @@
|
||||
object formCDControlsTest: TformCDControlsTest
|
||||
Left = 154
|
||||
Height = 240
|
||||
Top = 259
|
||||
Width = 320
|
||||
Caption = 'formCDControlsTest'
|
||||
ClientHeight = 240
|
||||
ClientWidth = 320
|
||||
OnCreate = FormCreate
|
||||
LCLVersion = '1.5'
|
||||
object Button1: TButton
|
||||
Left = 24
|
||||
Height = 25
|
||||
Top = 72
|
||||
Width = 75
|
||||
Caption = 'ToolBar'
|
||||
OnClick = Button1Click
|
||||
TabOrder = 0
|
||||
end
|
||||
object comboDrawer: TComboBox
|
||||
Left = 96
|
||||
Height = 21
|
||||
Top = 16
|
||||
Width = 100
|
||||
ItemHeight = 0
|
||||
TabOrder = 1
|
||||
Text = 'comboDrawer'
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 21
|
||||
Height = 15
|
||||
Top = 21
|
||||
Width = 44
|
||||
Caption = 'Drawer:'
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
59
components/customdrawn/examples/controls/mainform.pas
Normal file
59
components/customdrawn/examples/controls/mainform.pas
Normal file
@ -0,0 +1,59 @@
|
||||
unit mainform;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, TypInfo,
|
||||
// other forms
|
||||
toolbartest,
|
||||
// CD
|
||||
customdrawndrawers, customdrawn_common, customdrawn_mac;
|
||||
|
||||
type
|
||||
|
||||
{ TformCDControlsTest }
|
||||
|
||||
TformCDControlsTest = class(TForm)
|
||||
Button1: TButton;
|
||||
comboDrawer: TComboBox;
|
||||
Label1: TLabel;
|
||||
procedure Button1Click(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
formCDControlsTest: TformCDControlsTest;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
{ TformCDControlsTest }
|
||||
|
||||
procedure TformCDControlsTest.Button1Click(Sender: TObject);
|
||||
begin
|
||||
FormToolBar.ShowModal();
|
||||
end;
|
||||
|
||||
procedure TformCDControlsTest.FormCreate(Sender: TObject);
|
||||
var
|
||||
lStyle: TCDDrawStyle;
|
||||
lStr: string;
|
||||
begin
|
||||
for lStyle in TCDDrawStyle do
|
||||
begin
|
||||
lStr := GetEnumName(TypeInfo(TCDDrawStyle), integer(lStyle));
|
||||
comboDrawer.Items.Add(lStr);
|
||||
end;
|
||||
comboDrawer.ItemIndex := 1;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
169
components/customdrawn/examples/controls/toolbartest.lfm
Normal file
169
components/customdrawn/examples/controls/toolbartest.lfm
Normal file
@ -0,0 +1,169 @@
|
||||
object FormToolBar: TFormToolBar
|
||||
Left = 349
|
||||
Height = 240
|
||||
Top = 302
|
||||
Width = 320
|
||||
Caption = 'FormToolBar'
|
||||
ClientHeight = 240
|
||||
ClientWidth = 320
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
LCLVersion = '1.5'
|
||||
object ToolBar1: TToolBar
|
||||
Left = 0
|
||||
Height = 26
|
||||
Top = 214
|
||||
Width = 320
|
||||
Align = alBottom
|
||||
Caption = 'ToolBar1'
|
||||
Images = ImageList1
|
||||
TabOrder = 0
|
||||
object ToolButton1: TToolButton
|
||||
Left = 1
|
||||
Top = 2
|
||||
Caption = 'ToolButton1'
|
||||
ImageIndex = 0
|
||||
end
|
||||
object ToolButton2: TToolButton
|
||||
Left = 32
|
||||
Top = 2
|
||||
Caption = 'ToolButton2'
|
||||
ImageIndex = 1
|
||||
Style = tbsCheck
|
||||
end
|
||||
object ToolButton3: TToolButton
|
||||
Left = 24
|
||||
Height = 22
|
||||
Top = 2
|
||||
Width = 8
|
||||
Caption = 'ToolButton3'
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object ToolButton4: TToolButton
|
||||
Left = 55
|
||||
Height = 22
|
||||
Top = 2
|
||||
Width = 5
|
||||
Caption = 'ToolButton4'
|
||||
Style = tbsDivider
|
||||
end
|
||||
object ToolButton5: TToolButton
|
||||
Left = 60
|
||||
Top = 2
|
||||
Caption = 'ToolButton5'
|
||||
ImageIndex = 2
|
||||
Style = tbsCheck
|
||||
end
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 13
|
||||
Height = 15
|
||||
Top = 147
|
||||
Width = 128
|
||||
Caption = 'Native for comparison:'
|
||||
ParentColor = False
|
||||
end
|
||||
object ImageList1: TImageList
|
||||
left = 200
|
||||
top = 133
|
||||
Bitmap = {
|
||||
4C69030000001000000010000000FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00D9DDE0FFA99987FF92755BFF95795DFF9479
|
||||
5CFF94795CFF94795CFF94795CFF94795CFF94795CFF94795CFF94795CFF9176
|
||||
5AFF90765AFF91765AFF91765AFFA2866EFFC09A77FFCFAE8AFFCFA882FFD0AA
|
||||
83FFD0AA83FFD0AA83FFD0AA83FFD0AA83FFD0AA83FFD0AA83FFD0AA83FFD0AA
|
||||
83FFD0AA83FFD0AA83FFD0AA83FFA77546FFFDE6D7FFFFF7EEFFFFF4EBFFFFF5
|
||||
ECFFFFF5ECFFFFF5ECFFFFF5ECFFFFF5ECFFFFF2E9FFFFF2E9FFFFF4EBFFFFF5
|
||||
ECFFFFF3EAFFFFF5ECFFFFF5ECFFA66F3DFFF9EEE6FFFBFFFFFF866B59FF865D
|
||||
46FF845B42FF856149FF825D45FF805940FF7C543AFF7B5A45FFFFFFFFFFFAFC
|
||||
FEFFFFFFFFFFFBFDFFFFFBFEFFFFA46D3BFFF9EBE0FFFDFDFCFF8B644DFFB5AA
|
||||
95FFB4AF9AFFAC7D5EFFAA7C5CFFA47554FFA4704CFF855C41FFFDF9F6FFFFFF
|
||||
FFFF5F5C5BFF5F5C5BFFFFFFFCFFA36A36FFF8E8DEFFFDF8FAFF926854FFCBD5
|
||||
CBFFCDE2DAFFB89078FFB8927AFFB48E74FF9C7C66FF8D6852FFFCF4F3FF5F5C
|
||||
5BFFFCF4F3FFFCF4F3FF5F5C5BFFA26733FFF8E7DCFFFCF5F6FF9A7C6CFFCABE
|
||||
AFFFC8C1B2FFCFAF9CFFCEAF9CFF9F8A7DFF746A63FF907462FFF6EBEAFF5F5C
|
||||
5BFFF6EBEAFFF6EBEAFF5F5C5BFFA16531FFF6E5DAFFF4EEEEFF8A7365FFB69E
|
||||
92FFB69E90FFB09A8DFFA48F82FF66605CFF716761FF846D5FFFEEE4E2FF5F5C
|
||||
5BFFEEE4E2FFEEE4E2FF5F5C5BFFA1642FFFF6E3D8FFF0E8E9FF654838FF6A4B
|
||||
39FF654634FF5D3B27FF5A3926FF52392CFF4E3628FF583928FFE9DDDBFF5F5C
|
||||
5BFFE9DDDBFFE9DDDBFF5F5C5BFFA0612BFFF5E1D5FFEAE1E3FF70503EFF8761
|
||||
4FFF85604DFF86614EFF87624EFF835E4BFF7B5E4FFF9F948FFFE6D9D9FFE6D9
|
||||
D9FF5F5C5BFF5F5C5BFFE6DAD9FF9E5E28FFF3DED2FFE9DEE0FF7C655AFF7055
|
||||
44FF705545FF705444FF705444FF6F5243FF846E63FFB2B4B3FFE6D6D5FFE9D9
|
||||
D9FFEADAD9FFE8D8D8FFE6D6D5FFA06027FFF6E2D6FFE1D7DAFFDECECDFFDFD0
|
||||
D0FFDFD0D0FFDFD0D0FFDFD0D0FFDECFCFFFDFD1D0FFE0D1D1FFDECFCFFFDFD0
|
||||
D0FFDECFCFFFDFD0D0FFDECFCFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00BFBDBDFF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FFF4DDCEFFF4DDCEFFF4DDCEFFF4DD
|
||||
CEFFF4DDCEFFF4DDCEFFF4DDCEFFF4DDCEFFF4DDCEFFF4DDCEFFF4DDCEFFF4DD
|
||||
CEFFF4DDCEFFF4DDCEFFA4A4FFFF927777FFE8B697FFE8B697FFE8B697FFE8B6
|
||||
97FFE8B697FFE8B697FFE8B697FFE8B697FFE8B697FFE8B697FFE8B697FFE8B6
|
||||
97FFE8B697FFA4A4FFFF400080FF927777FFDD966AFFDD966AFFDD966AFFDD96
|
||||
6AFFDD966AFFDD966AFFDD966AFFDD966AFFDD966AFFDD966AFFDD966AFFDD96
|
||||
6AFFDD966AFFDD966AFFA4A4FFFF927777FF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFF927777FFFFFFFFFFDBDFDFFF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFDBDFDFFF927777FF927777FF927777FF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFDBDFDFFFDBDFDFFFDBDFDFFFDBDFDFFFDBDFDFFFDBDFDFFFDBDFDFFFDBDF
|
||||
DFFFDBDFDFFFDBDFDFFFDBDFDFFF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFDBDFDFFFDBDFDFFFBE6C38FFBE6C38FFDBDFDFFFDBDFDFFFDBDFDFFFBE6C
|
||||
38FFBE6C38FFBE6C38FFBE6C38FF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFDBDFDFFFBE6C38FFBE6C38FFBE6C38FFDBDFDFFFDBDFDFFFDBDFDFFFBE6C
|
||||
38FFDDAC8CFFDBDFDFFFDBDFDFFF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFDBDFDFFFDBDFDFFFDDAC8CFFBE6C38FFDBDFDFFFDBDFDFFFDBDFDFFFBE6C
|
||||
38FFBE6C38FFBE6C38FFDBDFDFFF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFDBDFDFFFDBDFDFFFDDAC8CFFBE6C38FFDBDFDFFFDBDFDFFFDBDFDFFFDBDF
|
||||
DFFFDBDFDFFFDDAC8CFFBE6C38FF927777FFFFFFFFFFDBDFDFFF927777FFFFFF
|
||||
FFFFDBDFDFFFDBDFDFFFDDAC8CFFBE6C38FFDBDFDFFFDBDFDFFFDBDFDFFFDDAC
|
||||
8CFFDBDFDFFFDDAC8CFFBE6C38FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00927777FF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FF927777FF927777FF927777FF9277
|
||||
77FF927777FF927777FF927777FF927777FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7
|
||||
F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7
|
||||
F7FFF5F7F7FFF5F7F7FFF5F7F7FF927777FFF5F7F7FF00F0FFFF0000FFFFF5F7
|
||||
F7FF333131FFF5F7F7FF7A7A7AFFF5F7F7FFF5F7F7FFC3C1C0FFF5F7F7FF7A7A
|
||||
7AFFF5F7F7FFF5F7F7FFF5F7F7FF927777FF00F0FFFF0000FFFF43AEEBFFF5F7
|
||||
F7FF010303FF333131FF010303FF333131FF010303FF7A7878FF333131FF0103
|
||||
03FF333131FF010303FF7A7878FF927777FF43AEEBFF00F0FFFFF5F7F7FFF5F7
|
||||
F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7
|
||||
F7FFF5F7F7FFF5F7F7FFF5F7F7FF927777FF7A7A7AFF7A7A7AFF7A7A7AFF7A7A
|
||||
7AFF7A7A7AFF7A7A7AFF7A7A7AFF7A7A7AFF7A7A7AFF7A7A7AFF7A7A7AFF7A7A
|
||||
7AFF7A7A7AFF7A7A7AFF7A7A7AFF927777FFC3C1C0FFC3C1C0FFC3C1C0FFC3C1
|
||||
C0FFC3C1C0FFC3C1C0FFC3C1C0FFC3C1C0FFC3C1C0FFC3C1C0FFC3C1C0FFC3C1
|
||||
C0FFC3C1C0FFC3C1C0FFC3C1C0FF927777FFF5F7F7FFC81EE6FFCFDC00FFF5F7
|
||||
F7FF7A7A7AFFF5F7F7FF7A7A7AFFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFC3C1
|
||||
C0FFF5F7F7FFF5F7F7FFF5F7F7FF927777FFCFDC00FFDC4300FFDC4300FFF5F7
|
||||
F7FF010303FF333131FF010303FF333131FF7A7878FF010303FF333131FF3331
|
||||
31FF010303FF333131FF7A7878FF927777FFC81EE6FFC81EE6FFF5F7F7FFF5F7
|
||||
F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7F7FFF5F7
|
||||
F7FFF5F7F7FFF5F7F7FFF5F7F7FF927777FF989799FF00F0FFFF0000FFFF9897
|
||||
99FF333131FF989799FF989799FF989799FF989799FF989799FF989799FF9897
|
||||
99FF989799FF989799FF989799FF927777FF00F0FFFF0000FFFF43AEEBFF9897
|
||||
99FF010303FF333131FF010303FF333131FF333131FF010303FF333131FF7A78
|
||||
78FF010303FF333131FF010303FF927777FF43AEEBFF00F0FFFF989799FF9897
|
||||
99FF989799FF989799FF989799FF989799FF989799FF989799FF989799FF9897
|
||||
99FF989799FF989799FF989799FF927777FFF5F7F7FFF5F7F7FFF5F7F7FFD842
|
||||
00FFA5E61AFFF5F7F7FF010303FFF5F7F7FF7A7A7AFFF5F7F7FFF5F7F7FFF5F7
|
||||
F7FFF5F7F7FFC3C1C0FFF5F7F7FF
|
||||
}
|
||||
end
|
||||
end
|
68
components/customdrawn/examples/controls/toolbartest.pas
Normal file
68
components/customdrawn/examples/controls/toolbartest.pas
Normal file
@ -0,0 +1,68 @@
|
||||
unit toolbartest;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
customdrawncontrols, customdrawndrawers, ComCtrls, StdCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ TFormToolBar }
|
||||
|
||||
TFormToolBar = class(TForm)
|
||||
ImageList1: TImageList;
|
||||
Label1: TLabel;
|
||||
ToolBar1: TToolBar;
|
||||
ToolButton1: TToolButton;
|
||||
ToolButton2: TToolButton;
|
||||
ToolButton3: TToolButton;
|
||||
ToolButton4: TToolButton;
|
||||
ToolButton5: TToolButton;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
lToolBar: TCDToolBar;
|
||||
end;
|
||||
|
||||
var
|
||||
FormToolBar: TFormToolBar;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
mainform;
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
{ TFormToolBar }
|
||||
|
||||
procedure TFormToolBar.FormCreate(Sender: TObject);
|
||||
var
|
||||
lBmp: TBitmap;
|
||||
lItem: TCDToolBarItem;
|
||||
begin
|
||||
lBmp := TBitmap.Create;
|
||||
|
||||
lToolBar := TCDToolBar.Create(Self);
|
||||
lToolBar.Parent := Self;
|
||||
lBmp.LoadFromFile('/usr/share/magnifier/lupa.bmp');
|
||||
lItem := lToolBar.AddItem(tikButton);
|
||||
lItem.Image := lBmp;
|
||||
lItem.Caption := 'Btn 1';
|
||||
lToolBar.Parent := Self;
|
||||
lToolBar.Parent := Self;
|
||||
end;
|
||||
|
||||
procedure TFormToolBar.FormShow(Sender: TObject);
|
||||
begin
|
||||
lToolBar.DrawStyle := TCDDrawStyle(formCDControlsTest.comboDrawer.ItemIndex);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -109,6 +109,12 @@ type
|
||||
AState: TCDControlState; AStateEx: TCDListViewStateEx); override;
|
||||
procedure DrawReportListViewItem(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
|
||||
ACurItem: TCDListItems; AState: TCDControlState; AStateEx: TCDListViewStateEx); override;
|
||||
// TCDToolBar
|
||||
procedure DrawToolBar(ADest: TCanvas; ASize: TSize;
|
||||
AState: TCDControlState; AStateEx: TCDToolBarStateEx); override;
|
||||
procedure DrawToolBarItem(ADest: TCanvas; ASize: TSize;
|
||||
ACurItem: TCDToolBarItem; AX, AY: Integer;
|
||||
AState: TCDControlState; AStateEx: TCDToolBarStateEx); override;
|
||||
// TCDCustomTabControl
|
||||
procedure DrawCTabControl(ADest: TCanvas; ASize: TSize;
|
||||
AState: TCDControlState; AStateEx: TCDCTabControlStateEx); override;
|
||||
@ -225,6 +231,8 @@ begin
|
||||
TCDLISTVIEW_LINE_TOP_SPACING: Result := 3;
|
||||
TCDLISTVIEW_LINE_BOTTOM_SPACING: Result := 3;
|
||||
//
|
||||
TCDTOOLBAR_ITEM_SPACING: Result := 2;
|
||||
//
|
||||
TCDCTABCONTROL_CLOSE_TAB_BUTTON_WIDTH: Result := 10;
|
||||
TCDCTABCONTROL_CLOSE_TAB_BUTTON_EXTRA_SPACING: Result := 10;
|
||||
else
|
||||
@ -1611,6 +1619,45 @@ begin
|
||||
ACurItem.Caption);
|
||||
end;
|
||||
|
||||
procedure TCDDrawerCommon.DrawToolBar(ADest: TCanvas; ASize: TSize;
|
||||
AState: TCDControlState; AStateEx: TCDToolBarStateEx);
|
||||
var
|
||||
lX, lY: Integer;
|
||||
lItemSize: TSize;
|
||||
i: Integer;
|
||||
lCurItem: TCDToolBarItem;
|
||||
begin
|
||||
// Background
|
||||
ADest.Pen.Style := psSolid;
|
||||
ADest.Pen.Color := AStateEx.ParentRGBColor;
|
||||
ADest.Brush.Style := bsSolid;
|
||||
ADest.Brush.Color := AStateEx.ParentRGBColor;
|
||||
ADest.Rectangle(0, 0, ASize.cx, ASize.cy);
|
||||
|
||||
// Items
|
||||
lX := GetMeasures(TCDTOOLBAR_ITEM_SPACING);
|
||||
lY := GetMeasures(TCDTOOLBAR_ITEM_SPACING);
|
||||
lItemSize.CY := AStateEx.ToolBarHeight - GetMeasures(TCDTOOLBAR_ITEM_SPACING) * 2;
|
||||
for i := 0 to AStateEx.Items.Count-1 do
|
||||
begin
|
||||
lCurItem := TCDToolBarItem(AStateEx.Items[i]);
|
||||
lItemSize.CX := lCurItem.Width;
|
||||
DrawToolBarItem(ADest, lItemSize, lCurItem, lX, lY, AState, AStateEx);
|
||||
lX := lX + lCurItem.Width;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCDDrawerCommon.DrawToolBarItem(ADest: TCanvas; ASize: TSize;
|
||||
ACurItem: TCDToolBarItem; AX, AY: Integer; AState: TCDControlState; AStateEx: TCDToolBarStateEx);
|
||||
begin
|
||||
// Background
|
||||
ADest.Pen.Style := psSolid;
|
||||
ADest.Pen.Color := AStateEx.ParentRGBColor;
|
||||
ADest.Brush.Style := bsSolid;
|
||||
ADest.Brush.Color := clWhite;
|
||||
ADest.Rectangle(AX, AY, ASize.cx, ASize.cy);
|
||||
end;
|
||||
|
||||
procedure TCDDrawerCommon.DrawCTabControl(ADest: TCanvas;
|
||||
ASize: TSize; AState: TCDControlState; AStateEx: TCDCTabControlStateEx);
|
||||
begin
|
||||
|
@ -603,6 +603,31 @@ type
|
||||
property ViewStyle: TViewStyle read FViewStyle write SetViewStyle default vsList;
|
||||
end;
|
||||
|
||||
{ TCDToolBar }
|
||||
|
||||
TCDToolBar = class(TCDControl)
|
||||
private
|
||||
// fields
|
||||
FShowCaptions: Boolean;
|
||||
FItems: TFPList;
|
||||
procedure SetShowCaptions(AValue: Boolean);
|
||||
protected
|
||||
FTBState: TCDToolBarStateEx;
|
||||
function GetControlId: TCDControlID; override;
|
||||
procedure CreateControlStateEx; override;
|
||||
procedure PrepareControlStateEx; override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
function InsertItem(AKind: TCDToolbarItemKind; AIndex: Integer): TCDToolBarItem;
|
||||
function AddItem(AKind: TCDToolbarItemKind): TCDToolBarItem;
|
||||
procedure DeleteItem(AIndex: Integer);
|
||||
function GetItem(AIndex: Integer): TCDToolBarItem;
|
||||
published
|
||||
property ShowCaptions: Boolean read FShowCaptions write SetShowCaptions;
|
||||
property DrawStyle;
|
||||
end;
|
||||
|
||||
{ TCDTabControl }
|
||||
|
||||
{ TCDCustomTabControl }
|
||||
@ -2843,6 +2868,80 @@ begin
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
{ TCDToolBar }
|
||||
|
||||
procedure TCDToolBar.SetShowCaptions(AValue: Boolean);
|
||||
begin
|
||||
if FShowCaptions = AValue then Exit;
|
||||
FShowCaptions := AValue;
|
||||
if not (csLoading in ComponentState) then Invalidate;
|
||||
end;
|
||||
|
||||
function TCDToolBar.GetControlId: TCDControlID;
|
||||
begin
|
||||
Result := cidToolBar;
|
||||
end;
|
||||
|
||||
procedure TCDToolBar.CreateControlStateEx;
|
||||
begin
|
||||
FTBState := TCDToolBarStateEx.Create;
|
||||
FStateEx := FTBState;
|
||||
end;
|
||||
|
||||
procedure TCDToolBar.PrepareControlStateEx;
|
||||
begin
|
||||
inherited PrepareControlStateEx;
|
||||
FTBState.ShowCaptions := FShowCaptions;
|
||||
FTBState.Items := FItems;
|
||||
FTBState.ToolBarHeight := Height;
|
||||
end;
|
||||
|
||||
constructor TCDToolBar.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
Height := 26;
|
||||
Align := alTop;
|
||||
FItems := TFPList.Create();
|
||||
TabStop := False;
|
||||
end;
|
||||
|
||||
destructor TCDToolBar.Destroy;
|
||||
begin
|
||||
while FItems.Count > 0 do
|
||||
DeleteItem(0);
|
||||
FItems.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function TCDToolBar.InsertItem(AKind: TCDToolbarItemKind; AIndex: Integer): TCDToolBarItem;
|
||||
var
|
||||
lNewItem: TCDToolBarItem;
|
||||
begin
|
||||
lNewItem := TCDToolBarItem.Create;
|
||||
lNewItem.Kind := AKind;
|
||||
FItems.Insert(AIndex, lNewItem);
|
||||
Result := lNewItem;
|
||||
end;
|
||||
|
||||
function TCDToolBar.AddItem(AKind: TCDToolbarItemKind): TCDToolBarItem;
|
||||
begin
|
||||
Result := InsertItem(AKind, FItems.Count);
|
||||
Result.Width := 23;
|
||||
end;
|
||||
|
||||
procedure TCDToolBar.DeleteItem(AIndex: Integer);
|
||||
begin
|
||||
if (AIndex < 0) or (AIndex >= FItems.Count) then Exit;
|
||||
FItems.Delete(AIndex);
|
||||
end;
|
||||
|
||||
function TCDToolBar.GetItem(AIndex: Integer): TCDToolBarItem;
|
||||
begin
|
||||
Result := nil;
|
||||
if (AIndex < 0) or (AIndex >= FItems.Count) then Exit;
|
||||
Result := TCDToolBarItem(FItems.Items[AIndex]);
|
||||
end;
|
||||
|
||||
{ TCDTabSheet }
|
||||
|
||||
procedure TCDTabSheet.RealSetText(const Value: TCaption);
|
||||
|
@ -42,6 +42,8 @@ const
|
||||
TCDLISTVIEW_LINE_TOP_SPACING = $1203;
|
||||
TCDLISTVIEW_LINE_BOTTOM_SPACING = $1204;
|
||||
|
||||
TCDTOOLBAR_ITEM_SPACING = $1300;
|
||||
|
||||
TCDCTABCONTROL_CLOSE_TAB_BUTTON_WIDTH = $2600;
|
||||
TCDCTABCONTROL_CLOSE_TAB_BUTTON_EXTRA_SPACING = $2601;
|
||||
|
||||
@ -210,6 +212,25 @@ type
|
||||
ShowColumnHeader: Boolean;
|
||||
end;
|
||||
|
||||
// ToolBar Start
|
||||
|
||||
TCDToolbarItemKind = (tikButton, tikCheckButton, tikSeparator, tikDivider);
|
||||
|
||||
TCDToolBarItem = class
|
||||
Kind: TCDToolbarItemKind;
|
||||
Image: TBitmap;
|
||||
Caption: string;
|
||||
Width: Integer;
|
||||
end;
|
||||
|
||||
TCDToolBarStateEx = class(TCDControlStateEx)
|
||||
ShowCaptions: Boolean;
|
||||
Items: TFPList; // of TCDToolBarItem
|
||||
ToolBarHeight: Integer;
|
||||
end;
|
||||
|
||||
// ToolBar End
|
||||
|
||||
TCDCTabControlStateEx = class(TCDControlStateEx)
|
||||
public
|
||||
LeftmostTabVisibleIndex: Integer;
|
||||
@ -238,7 +259,7 @@ type
|
||||
// Additional
|
||||
cidStaticText,
|
||||
// Common Controls
|
||||
cidTrackBar, cidProgressBar, cidListView, cidCTabControl
|
||||
cidTrackBar, cidProgressBar, cidListView, cidToolBar, cidCTabControl
|
||||
);
|
||||
|
||||
{ TCDColorPalette }
|
||||
@ -371,6 +392,12 @@ type
|
||||
AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract;
|
||||
procedure DrawReportListViewItem(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
|
||||
ACurItem: TCDListItems; AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract;
|
||||
// TCDToolBar
|
||||
procedure DrawToolBar(ADest: TCanvas; ASize: TSize;
|
||||
AState: TCDControlState; AStateEx: TCDToolBarStateEx); virtual; abstract;
|
||||
procedure DrawToolBarItem(ADest: TCanvas; ASize: TSize;
|
||||
ACurItem: TCDToolBarItem; AX, AY: Integer;
|
||||
AState: TCDControlState; AStateEx: TCDToolBarStateEx); virtual; abstract;
|
||||
// TCDCustomTabControl
|
||||
procedure DrawCTabControl(ADest: TCanvas; ASize: TSize;
|
||||
AState: TCDControlState; AStateEx: TCDCTabControlStateEx); virtual; abstract;
|
||||
@ -672,6 +699,7 @@ begin
|
||||
cidTrackBar: DrawTrackBar(ADest, ASize, AState, TCDPositionedCStateEx(AStateEx));
|
||||
cidProgressBar:DrawProgressBar(ADest, ASize, AState, TCDProgressBarStateEx(AStateEx));
|
||||
cidListView: DrawListView(ADest, ASize, AState, TCDListViewStateEx(AStateEx));
|
||||
cidToolBar: DrawToolBar(ADest, ASize, AState, TCDToolBarStateEx(AStateEx));
|
||||
cidCTabControl:DrawCTabControl(ADest, ASize, AState, TCDCTabControlStateEx(AStateEx));
|
||||
end;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user