Componentes.Terceros.DevExp.../official/x.26/ExpressBars 6/Demos/Delphi/BackgroundDemo/BackgroundDemoMain.pas
2007-09-09 11:27:27 +00:00

326 lines
10 KiB
ObjectPascal

unit BackgroundDemoMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, dxBar, ImgList, dxBarExtItems, ActnList,
Buttons, ExtDlgs, cxClasses, EBarsUtils;
type
TBackgroundDemoMainForm = class(TForm)
BarManagerStyle: TRadioGroup;
dxBarManager1: TdxBarManager;
dxBarSubItem1: TdxBarSubItem;
dxBarSubItem2: TdxBarSubItem;
dxBarSubItem3: TdxBarSubItem;
dxBarSubItem4: TdxBarSubItem;
dxBarSubItem5: TdxBarSubItem;
dxBarSubItem6: TdxBarSubItem;
dxBarButton1: TdxBarLargeButton;
dxBarButton3: TdxBarLargeButton;
dxBarButton4: TdxBarLargeButton;
dxBarButton5: TdxBarLargeButton;
dxBarButton6: TdxBarLargeButton;
dxBarButton7: TdxBarLargeButton;
dxBarButton8: TdxBarLargeButton;
dxBarButton9: TdxBarLargeButton;
dxBarButton10: TdxBarLargeButton;
dxBarButton11: TdxBarLargeButton;
dxBarLargeButton1: TdxBarLargeButton;
dxBarLargeButton2: TdxBarLargeButton;
dxBarLargeButton3: TdxBarLargeButton;
dxBarLargeButton4: TdxBarLargeButton;
dxBarLargeButton5: TdxBarLargeButton;
dxBarLargeButton6: TdxBarLargeButton;
dxBarLargeButton7: TdxBarLargeButton;
dxBarButton15: TdxBarButton;
dxBarColorCombo1: TdxBarColorCombo;
dxBarFontNameCombo1: TdxBarFontNameCombo;
dxBarDateCombo1: TdxBarDateCombo;
dxBarSpinEdit1: TdxBarSpinEdit;
dxBarProgressItem1: TdxBarProgressItem;
dxBarStatic1: TdxBarStatic;
dxBarPopupMenu1: TdxBarPopupMenu;
dxBarLargeButton8: TdxBarLargeButton;
dxBarLargeButton9: TdxBarLargeButton;
dxBarLargeButton10: TdxBarLargeButton;
dxBarLargeButton11: TdxBarLargeButton;
dxBarLargeButton12: TdxBarLargeButton;
dxBarLargeButton13: TdxBarLargeButton;
dxBarLargeButton14: TdxBarLargeButton;
gbBackgroundOptions: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
cbBar: TCheckBox;
cbSubMenu: TCheckBox;
cbBackgroundBitmap: TCheckBox;
cbBackgroundBitmapPM: TCheckBox;
gbImageDisplay: TGroupBox;
btnNewWindow: TdxBarLargeButton;
btnArrangeAll: TdxBarLargeButton;
btnSplit: TdxBarLargeButton;
btnNew: TdxBarLargeButton;
btnOpen: TdxBarLargeButton;
btnSave: TdxBarLargeButton;
btnClose: TdxBarLargeButton;
btnPrint: TdxBarLargeButton;
btnSaveAs: TdxBarLargeButton;
btnSaveAll: TdxBarLargeButton;
dxBarSubItem7: TdxBarSubItem;
sbBarBackgroud: TSpeedButton;
sbBarSubmenu: TSpeedButton;
sbSatusbarBackgroud: TSpeedButton;
sbPopupmenu: TSpeedButton;
lbBarBackgroud: TLabel;
lbBarSubmenu: TLabel;
lbSatusbarBackgroud: TLabel;
lbPopupmenu: TLabel;
OpenPictureDialog: TOpenPictureDialog;
btnRestoreDefaults: TButton;
Bevel1: TBevel;
cbShowImageCaptions: TCheckBox;
cbAssignHotImages: TCheckBox;
Label4: TLabel;
Panel1: TPanel;
dxBarLargeButton15: TdxBarLargeButton;
dxBarLargeButton16: TdxBarLargeButton;
ilLargeImages: TImageList;
ilDisabledImages: TImageList;
ilHotImages: TImageList;
pnlOptions: TPanel;
pnlMain: TPanel;
procedure BarManagerStyleClick(Sender: TObject);
procedure dxBarButton1Click(Sender: TObject);
procedure dxBarSpinEdit1CurChange(Sender: TObject);
procedure cbBarClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cbSubMenuClick(Sender: TObject);
procedure cbBackgroundBitmapClick(Sender: TObject);
procedure cbBackgroundBitmapPMClick(Sender: TObject);
procedure sbBarBackgroudClick(Sender: TObject);
procedure btnRestoreDefaultsClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure cbShowImageCaptionsClick(Sender: TObject);
procedure cbAssignHotImagesClick(Sender: TObject);
private
FBarBackgroudBitmap, FBarSubmenuBitmap, FSatusbarBackgroudBitmap, FPopupmenuBitmap: TBitmap;
public
FPath: string;
end;
var
BackgroundDemoMainForm: TBackgroundDemoMainForm;
implementation
uses
BackgroundDemoAbout;
const
sCustomImage = '(custom image)';
sDefaultImage = '(default image)';
{$R *.dfm}
{$R windowsxp.res}
procedure TBackgroundDemoMainForm.BarManagerStyleClick(Sender: TObject);
begin
dxBarManager1.Style := TdxBarManagerStyle(BarManagerStyle.ItemIndex);
end;
procedure TBackgroundDemoMainForm.dxBarButton1Click(Sender: TObject);
begin
Close;
end;
procedure TBackgroundDemoMainForm.dxBarSpinEdit1CurChange(Sender: TObject);
begin
dxBarProgressItem1.Position := Trunc(dxBarSpinEdit1.curValue);
dxBarSpinEdit1.curValue := dxBarProgressItem1.Position;
end;
procedure TBackgroundDemoMainForm.FormCreate(Sender: TObject);
begin
dmCommonData.AboutFormClass := TBackgroundDemoAboutForm;
FPath := ExtractFilePath(Application.ExeName);
FBarBackgroudBitmap := TBitmap.Create;
FBarSubmenuBitmap := TBitmap.Create;
FSatusbarBackgroudBitmap := TBitmap.Create;
FPopupmenuBitmap := TBitmap.Create;
cbBarClick(nil);
cbSubMenuClick(nil);
cbBackgroundBitmapClick(nil);
cbBackgroundBitmapPMClick(nil);
end;
procedure TBackgroundDemoMainForm.FormDestroy(Sender: TObject);
begin
FBarBackgroudBitmap.Free;
FBarSubmenuBitmap.Free;
FSatusbarBackgroudBitmap.Free;
FPopupmenuBitmap.Free;
end;
procedure TBackgroundDemoMainForm.cbBarClick(Sender: TObject);
begin
if cbBar.Checked then
begin
if lbBarBackgroud.Caption = sDefaultImage then
dxBarManager1.Backgrounds.Bar.LoadFromFile(FPath + 'b01.bmp')
else
dxBarManager1.Backgrounds.Bar.Assign(FBarBackgroudBitmap);
lbBarBackgroud.Enabled := True;
sbBarBackgroud.Enabled := True;
end
else
begin
dxBarManager1.Backgrounds.Bar.Assign(nil);
lbBarBackgroud.Enabled := False;
sbBarBackgroud.Enabled := False;
end;
end;
procedure TBackgroundDemoMainForm.cbSubMenuClick(Sender: TObject);
begin
if cbSubMenu.Checked then
begin
if lbBarSubmenu.Caption = sDefaultImage then
dxBarManager1.Backgrounds.SubMenu.LoadFromFile(FPath + 'b02.bmp')
else
dxBarManager1.Backgrounds.SubMenu.Assign(FBarSubmenuBitmap);
lbBarSubmenu.Enabled := True;
sbBarSubmenu.Enabled := True;
end
else
begin
dxBarManager1.Backgrounds.SubMenu.Assign(nil);
lbBarSubmenu.Enabled := False;
sbBarSubmenu.Enabled := False;
end
end;
procedure TBackgroundDemoMainForm.cbBackgroundBitmapClick(Sender: TObject);
begin
if cbBackgroundBitmap.Checked then
begin
if lbSatusbarBackgroud.Caption = sDefaultImage then
dxBarManager1.Bars[4].BackgroundBitmap.LoadFromFile(FPath + 'b03.bmp')
else
dxBarManager1.Bars[4].BackgroundBitmap.Assign(FSatusbarBackgroudBitmap);
lbSatusbarBackgroud.Enabled := True;
sbSatusbarBackgroud.Enabled := True;
end
else
begin
dxBarManager1.Bars[4].BackgroundBitmap.Assign(nil);
lbSatusbarBackgroud.Enabled := False;
sbSatusbarBackgroud.Enabled := False;
end
end;
procedure TBackgroundDemoMainForm.cbBackgroundBitmapPMClick(Sender: TObject);
begin
if cbBackgroundBitmapPM.Checked then
begin
if lbPopupmenu.Caption = sDefaultImage then
dxBarPopupMenu1.BackgroundBitmap.LoadFromFile(FPath + 'b04.bmp')
else
dxBarPopupMenu1.BackgroundBitmap.Assign(FPopupmenuBitmap);
lbPopupmenu.Enabled := True;
sbPopupmenu.Enabled := True;
end
else
begin
lbPopupmenu.Enabled := False;
sbPopupmenu.Enabled := False;
dxBarPopupMenu1.BackgroundBitmap.Assign(nil);
end;
end;
procedure TBackgroundDemoMainForm.sbBarBackgroudClick(Sender: TObject);
begin
if OpenPictureDialog.Execute then
case TComponent(Sender).Tag of
0: begin
FBarBackgroudBitmap.LoadFromFile(OpenPictureDialog.FileName);
dxBarManager1.Backgrounds.Bar.Assign(FBarBackgroudBitmap);
lbBarBackgroud.Caption := sCustomImage;
end;
1: begin
FBarSubmenuBitmap.LoadFromFile(OpenPictureDialog.FileName);
dxBarManager1.Backgrounds.SubMenu.Assign(FBarSubmenuBitmap);
lbBarSubmenu.Caption := sCustomImage;
end;
2: begin
FSatusbarBackgroudBitmap.LoadFromFile(OpenPictureDialog.FileName);
dxBarManager1.Bars[4].BackgroundBitmap.Assign(FSatusbarBackgroudBitmap);
lbSatusbarBackgroud.Caption := sCustomImage;
end;
3: begin
FPopupmenuBitmap.LoadFromFile(OpenPictureDialog.FileName);
dxBarPopupMenu1.BackgroundBitmap.Assign(FPopupmenuBitmap);
lbPopupmenu.Caption := sCustomImage;
end;
end;
end;
procedure TBackgroundDemoMainForm.btnRestoreDefaultsClick(Sender: TObject);
begin
if (not cbBar.Checked) or (lbBarBackgroud.Caption = sCustomImage) then
begin
dxBarManager1.Backgrounds.Bar.LoadFromFile(FPath + 'b01.bmp');
lbBarBackgroud.Caption := sDefaultImage;
cbBar.Checked := True;
end;
if (not cbSubMenu.Checked) or (lbBarSubmenu.Caption = sCustomImage) then
begin
dxBarManager1.Backgrounds.SubMenu.LoadFromFile(FPath + 'b02.bmp');
lbBarSubmenu.Caption := sDefaultImage;
cbSubMenu.Checked := True;
end;
if (not cbBackgroundBitmap.Checked) or (lbSatusbarBackgroud.Caption = sCustomImage) then
begin
dxBarManager1.Bars[4].BackgroundBitmap.LoadFromFile(FPath + 'b03.bmp');
lbSatusbarBackgroud.Caption := sDefaultImage;
cbBackgroundBitmap.Checked := True;
end;
if (not cbBackgroundBitmapPM.Checked) or (lbPopupmenu.Caption = sCustomImage) then
begin
dxBarPopupMenu1.BackgroundBitmap.LoadFromFile(FPath + 'b04.bmp');
lbPopupmenu.Caption := sDefaultImage;
cbBackgroundBitmapPM.Checked := True;
end;
end;
procedure TBackgroundDemoMainForm.cbShowImageCaptionsClick(
Sender: TObject);
var
i: Integer;
AChecked: Boolean;
begin
dxBarManager1.LockUpdate := True;
AChecked := TCheckBox(Sender).Checked;
for i:=0 to ComponentCount - 1 do
if Components[i] is TdxBarLargeButton then
TdxBarLargeButton(Components[i]).ShowCaption := AChecked;
dxBarManager1.LockUpdate := False;
end;
procedure TBackgroundDemoMainForm.cbAssignHotImagesClick(Sender: TObject);
begin
if TCheckBox(Sender).Checked then
dxBarManager1.HotImages := ilHotImages
else
dxBarManager1.HotImages := nil;
end;
end.