ExCtrls: Support ImageList for dropdown button.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8144 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2021-11-05 21:56:09 +00:00
parent 9f9b980645
commit 8f89ccc7f4
3 changed files with 293 additions and 13 deletions

View File

@ -16,6 +16,8 @@ type
Button1: TButton;
Button4: TButton;
Button5: TButton;
CheckBox1: TCheckBox;
ImageList1: TImageList;
Memo1: TMemo;
Panel1: TPanel;
Splitter1: TSplitter;
@ -24,6 +26,7 @@ type
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FCombo: TCheckComboBoxEx;
@ -49,7 +52,7 @@ begin
FCombo := TCheckComboBoxEx.Create(self);
FCombo.Align := alTop;
FCombo.BorderSpacing.Around := 6;
FCombo.AutoDropDown := true;
//FCombo.AutoDropDown := true;
FCombo.Items.Add('Item 1');
FCombo.Items.Add('Item 2');
FCombo.Items.Add('Item 3');
@ -63,6 +66,13 @@ begin
FCombo.OnItemChange := @CheckComboItemChange;
FCombo.OnItemClick := @CheckComboItemClick;
FCombo.DropDownImageIndex.NormalDown := 0;
FCombo.DropDownImageIndex.HotDown := 2;
FCombo.DropDownImageIndex.PressedDown := 2;
FCombo.DropDownImageIndex.NormalUp := 1;
FCombo.DropDownImageIndex.HotUp := 3;
FCombo.DropDownImageIndex.PressedUp := 3;
TIPropertyGrid1.TIObject := FCombo;
ActiveControl := FCombo;
@ -98,5 +108,20 @@ begin
FCombo.CheckAll(cbUnchecked);
end;
procedure TMainForm.CheckBox1Change(Sender: TObject);
begin
if Checkbox1.Checked then
begin
FCombo.Images := ImageList1;
FCombo.ButtonWidth := FCombo.Height;
FCombo.Spacing := 4;
end else
begin
FCombo.Images := nil;
FCombo.ButtonWidth := -1;
FCombo.Spacing := 0;
end;
end;
end.