Files
lazarus-ccr/components/jvcllaz/examples/JvTabBar_NotebookPages/main.pas

84 lines
2.0 KiB
ObjectPascal

unit Main;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, ExtCtrls,
ActnList, Menus, LCLVersion,
SynEdit, SynHighlighterPas, SynHighlighterXML,
JvTabBar, JvNotebookPageList, JvTabBarXPPainter;
type
{ TForm1 }
TForm1 = class(TForm)
Image1: TImage;
JvModernTabBarPainter1: TJvModernTabBarPainter;
JvNotebookPageList1: TJvNotebookPageList;
JvTabBar1: TJvTabBar;
JvTabBarXPPainter1: TJvTabBarXPPainter;
lprPage: TPage;
icoPage: TPage;
lpiPage: TPage;
PasSynEdit: TSynEdit;
SynXMLSyn1: TSynXMLSyn;
XMLSynEdit: TSynEdit;
SynPasSyn1: TSynPasSyn;
procedure AcModernPainterExecute(Sender: TObject);
procedure AcXPStylePainterExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure JvTabBar1TabCloseQuery(Sender: TObject; Item: TJvTabBarItem;
var CanClose: Boolean);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
var
dir: String;
begin
{$IF LCL_FullVersion >= 2010000}
JvTabBar1.PageListTabLink := true;
{$IFEND}
dir := ExpandFileName(Application.Location + '../../examples/JvTabBar_NotebookPages/');
PasSynEdit.Lines.LoadfromFile(dir + 'main.pas');
XMLSynEdit.Lines.LoadFromFile(dir + 'JvTabBarDemo_NotebookPages.lpi');
Image1.Picture.LoadFromFile(dir + 'JvTabBarDemo_NotebookPages.ico');
Image1.Width := Image1.Picture.Width;
Image1.Height := Image1.Picture.Height;
end;
procedure TForm1.JvTabBar1TabCloseQuery(Sender: TObject; Item: TJvTabBarItem;
var CanClose: Boolean);
begin
CanClose := MessageDlg('Do you really want to close this tab?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes;
end;
procedure TForm1.AcModernPainterExecute(Sender: TObject);
begin
JvTabBar1.Painter := JvModernTabBarPainter1;
end;
procedure TForm1.AcXPStylePainterExecute(Sender: TObject);
begin
JvTabBar1.Painter := JvTabBarXPPainter1;
end;
end.