You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8145 8e941d3f-bd1b-0410-a28a-d453659cc2b4
127 lines
3.0 KiB
ObjectPascal
127 lines
3.0 KiB
ObjectPascal
unit Main;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, EditBtn, CheckLst,
|
|
StdCtrls, ExtCtrls, RTTIGrids, ExCheckCombo, PropEdits, ObjectInspector;
|
|
|
|
type
|
|
|
|
{ TMainForm }
|
|
|
|
TMainForm = class(TForm)
|
|
Button1: TButton;
|
|
Button4: TButton;
|
|
Button5: TButton;
|
|
CheckBox1: TCheckBox;
|
|
ImageList1: TImageList;
|
|
Memo1: TMemo;
|
|
Panel1: TPanel;
|
|
Splitter1: TSplitter;
|
|
Splitter2: TSplitter;
|
|
TIPropertyGrid1: TTIPropertyGrid;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure Button4Click(Sender: TObject);
|
|
procedure Button5Click(Sender: TObject);
|
|
procedure CheckBox1Change(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
private
|
|
FCombo: TCheckComboBoxEx;
|
|
procedure CheckComboChange(Sender: TObject);
|
|
procedure CheckComboItemChange(Sender: TObject; Index: Integer);
|
|
procedure CheckComboItemClick(Sender: TObject; Index: Integer);
|
|
|
|
public
|
|
|
|
end;
|
|
|
|
var
|
|
MainForm: TMainForm;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TMainForm }
|
|
|
|
procedure TMainForm.FormCreate(Sender: TObject);
|
|
begin
|
|
FCombo := TCheckComboBoxEx.Create(self);
|
|
FCombo.Align := alTop;
|
|
FCombo.BorderSpacing.Around := 6;
|
|
FCombo.Items.Add('Item 1');
|
|
FCombo.Items.Add('Item 2');
|
|
FCombo.Items.Add('Item 3');
|
|
FCombo.AddItem('Item 4', true);
|
|
FCombo.AddItem('Item 5', true, false);
|
|
FCombo.AddItem('Item 0');
|
|
FCombo.Parent := Panel1;
|
|
FCombo.Hint := 'Default hint';
|
|
FCombo.TextHint := 'Check items, please...';
|
|
FCombo.OnChange := @CheckComboChange;
|
|
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;
|
|
end;
|
|
|
|
procedure TMainForm.CheckComboChange(Sender: TObject);
|
|
begin
|
|
Memo1.Lines.Add('CheckComboBoxEx.OnChange');
|
|
end;
|
|
|
|
procedure TMainForm.CheckComboItemChange(Sender: TObject; Index: Integer);
|
|
begin
|
|
Memo1.Lines.Add('CheckComboBoxEx.OnItemChange, Index ' + Index.ToString);
|
|
end;
|
|
|
|
procedure TMainForm.CheckComboItemClick(Sender: TObject; Index: Integer);
|
|
begin
|
|
Memo1.Lines.Add('CheckComboBoxEx.OnItemClick, Index ' + Index.ToString);
|
|
end;
|
|
|
|
procedure TMainForm.Button1Click(Sender: TObject);
|
|
begin
|
|
FCombo.Checked[0] := not FCombo.Checked[0];
|
|
end;
|
|
|
|
procedure TMainForm.Button4Click(Sender: TObject);
|
|
begin
|
|
FCombo.CheckAll(cbChecked);;
|
|
end;
|
|
|
|
procedure TMainForm.Button5Click(Sender: TObject);
|
|
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.
|
|
|