lazarus-ccr/components/jvcllaz/examples/JvTabBar_PageList/main.pas

108 lines
2.5 KiB
ObjectPascal

unit Main;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
Grids, ShellCtrls, ListViewFilterEdit, JvTabBar, JvPageList,
JvTabBarXPPainter;
type
{ TMainForm }
TMainForm = class(TForm)
cbCloseButton: TCheckBox;
cbAllowTabMoving: TCheckBox;
cbTabHotTracking: TCheckBox;
cmbPainter: TComboBox;
cmbOrientation: TComboBox;
Image1: TImage;
ImageList1: TImageList;
JvModernTabBarPainter1: TJvModernTabBarPainter;
JvPageList1: TJvPageList;
JvStandardPage1: TJvStandardPage;
JvStandardPage2: TJvStandardPage;
JvStandardPage3: TJvStandardPage;
JvStandardPage4: TJvStandardPage;
JvTabBar1: TJvTabBar;
JvTabBarXPPainter1: TJvTabBarXPPainter;
lblPainter: TLabel;
lblOrientation: TLabel;
Memo1: TMemo;
Panel1: TPanel;
ShellListView1: TShellListView;
ShellTreeView1: TShellTreeView;
Splitter1: TSplitter;
StringGrid1: TStringGrid;
procedure cbCloseButtonChange(Sender: TObject);
procedure cbAllowTabMovingChange(Sender: TObject);
procedure cbTabHotTrackingChange(Sender: TObject);
procedure cmbPainterChange(Sender: TObject);
procedure cmbOrientationChange(Sender: TObject);
procedure JvTabBar1TabCloseQuery(Sender: TObject; Item: TJvTabBarItem;
var CanClose: Boolean);
private
public
end;
var
MainForm: TMainForm;
implementation
{$R *.lfm}
{ TMainForm }
procedure TMainForm.cbCloseButtonChange(Sender: TObject);
begin
JvTabBar1.CloseButton := cbCloseButton.Checked;
end;
procedure TMainForm.cbTabHotTrackingChange(Sender: TObject);
begin
JvTabBar1.HotTracking := cbTabHotTracking.Checked;
end;
procedure TMainForm.cbAllowTabMovingChange(Sender: TObject);
begin
JvTabBar1.AllowTabMoving := cbAllowTabMoving.Checked;
end;
procedure TMainForm.cmbPainterChange(Sender: TObject);
begin
case cmbPainter.ItemIndex of
0: JvTabBar1.Painter := JvModernTabBarPainter1;
1: JvTabBar1.Painter := JvTabBarXPPainter1;
end;
end;
procedure TMainForm.JvTabBar1TabCloseQuery(Sender: TObject;
Item: TJvTabBarItem; var CanClose: Boolean);
begin
CanClose := MessageDlg('Do you really want to close tab ' + Item.Caption + '?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes;
end;
procedure TMainForm.cmbOrientationChange(Sender: TObject);
begin
case cmbOrientation.ItemIndex of
0: begin
JvTabBar1.Orientation := toTop;
JvTabBar1.Align := alTop;
end;
1: begin
JvTabBar1.Orientation := toBottom;
JvTabBar1.Align := alBottom;
end;
end;
end;
end.