Files
lazarus-ccr/components/exctrls/examples/CheckComboBoxEx/main.pas

103 lines
2.3 KiB
ObjectPascal
Raw Normal View History

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;
Memo1: TMemo;
Panel1: TPanel;
Splitter1: TSplitter;
Splitter2: TSplitter;
TIPropertyGrid1: TTIPropertyGrid;
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(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.AutoDropDown := true;
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;
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;
end.