procedure TForm1.FormCreate(Sender: TObject);
begin
stampaNome:=FALSE;
stampaCaption:=FALSE;
ToolBar1 := TToolBar.Create(Self);
ToolBar1.Parent := Self;
ToolBar1.Transparent:=true;
AddButton(ToolBar1,'Btn_Nuovo','Nuovo',tbsButton,Application.Location + 'project1.ico');
AddButton(ToolBar1,'Btn_Salva','Salva',tbsButton);
AddButton(ToolBar1,'Btn_sep1','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep2','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep3','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep4','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep5','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep6','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep7','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep8','|',tbsSeparator);
AddButton(ToolBar1,'Btn_ChkNome','Nome',tbsCheck);
AddButton(ToolBar1,'Btn_ChkCaption','Caption',tbsCheck);
ToolBar1.ShowCaptions := True; //per vedere il contenuro dei pulsanti
ToolBar1.Height := 40;
ToolBar1.ButtonWidth := 75;
ToolBar1.ButtonHeight:=40;
DisegnaSfondoToolBar();
end;
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Image1: TImage;
ToolBar1: TToolBar;
procedure FormCreate(Sender: TObject);
procedure EffettuaOperazione(Sender: TObject);
procedure AddButton(ToolBar: TToolBar; ButtonName: string; ButtonCaption: string; ButtonStyle: TToolButtonStyle; NomeIcona: string='');
procedure DisegnaSfondoToolBar();
procedure FormResize(Sender: TObject);
private
{ private declarations }
stampaNome, stampaCaption: BOOLEAN;
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.EffettuaOperazione(Sender: TObject);
var
i: integer;
ret: string;
begin
for i:=0 to (ToolBar1.ButtonCount-1) do
begin
if (ToolBar1.Buttons[i].Name=((Sender as TControl).Name)) then
begin
if (Sender as TControl).Name='Btn_ChkNome' then
begin
if ToolBar1.Buttons[i].Down=TRUE then
StampaNome:=TRUE
else
StampaNome:=FALSE;
end
else if (Sender as TControl).Name='Btn_ChkCaption' then
begin
if ToolBar1.Buttons[i].Down=TRUE then
StampaCaption:=TRUE
else
StampaCaption:=FALSE;
end
else
begin
ret:='';
if StampaNome=TRUE then
ret:=ret + ' ' + ToolBar1.Buttons[i].Name;
if StampaCaption=TRUE then
ret:=ret + ' ' + ToolBar1.Buttons[i].Caption;
ShowMessage(trim(ret));
end;
end;
end;
end;
procedure TForm1.AddButton(ToolBar: TToolBar; ButtonName: string; ButtonCaption: string; ButtonStyle: TToolButtonStyle; NomeIcona: string='');
var
MyImageList: TImageList;
{$IFDEF WIN32}
app: TCustomIcon;
{$ENDIF}
{$IFDEF UNIX}
app: TIcon;
{$ENDIF}
begin
if length(trim(NomeIcona))>0 then
begin
{$IFDEF WIN32}
app:=TCustomIcon.Create;
{$ENDIF}
{$IFDEF UNIX}
app:=TIcon.Create;
{$ENDIF}
app.LoadFromFile(NomeIcona);
MyImageList:=TImageList.Create(nil);
MyImageList.AddIcon(app);
app.Free;
end;
with TToolButton.Create(ToolBar) do
begin
Parent := ToolBar;
Caption := ButtonCaption;
Name := ButtonName;
Style := ButtonStyle;
if length(trim(NomeIcona))>0 then
begin
ToolBar1.Images:=MyImageList;
ImageIndex := 0;
end;
AutoSize := False;
OnClick:=@EffettuaOperazione;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
stampaNome:=FALSE;
stampaCaption:=FALSE;
ToolBar1 := TToolBar.Create(Self);
ToolBar1.Parent := Self;
ToolBar1.Transparent:=true;
AddButton(ToolBar1,'Btn_Nuovo','Nuovo',tbsButton,Application.Location + 'project1.ico');
AddButton(ToolBar1,'Btn_Salva','Salva',tbsButton);
AddButton(ToolBar1,'Btn_sep1','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep2','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep3','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep4','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep5','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep6','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep7','|',tbsSeparator);
AddButton(ToolBar1,'Btn_sep8','|',tbsSeparator);
AddButton(ToolBar1,'Btn_ChkNome','Nome',tbsCheck);
AddButton(ToolBar1,'Btn_ChkCaption','Caption',tbsCheck);
ToolBar1.ShowCaptions := True; //per vedere il contenuro dei pulsanti
ToolBar1.Height := 40;
ToolBar1.ButtonWidth := 75;
ToolBar1.ButtonHeight:=40;
DisegnaSfondoToolBar();
end;
procedure TForm1.DisegnaSfondoToolBar();
begin
Image1.Width:=Form1.Width;
Image1.Height:=ToolBar1.Height;
Image1.Top:=ToolBar1.Top;
Image1.Left:=ToolBar1.Left;
Image1.Picture.LoadFromFile(Application.Location + 'Immagine.PNG');
Image1.Stretch:=TRUE;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
DisegnaSfondoToolBar();
end;
end.