Componentes.Terceros.TB2k-TBX/official/2.1.6+2.1.beta1/TBX/Demo/Unit1.pas

488 lines
15 KiB
ObjectPascal

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Menus,
Dialogs, ImgList, StdCtrls, ExtCtrls, ComCtrls, TBX, TB2Dock, TB2Toolbar,
TB2Item, TB2Common, TB2ExtItems, TBXMDI, TBXExtItems, TBXSwitcher,
TBXLists, TBXDkPanels, TBXToolPals, TBXStatusBars, TB2MDI,
TBXOffice2003Theme, TB2ToolWindow,
Buttons, XPMan, TBXOfficeXPTheme, TBXWhidbeyTheme;
type
TForm1 = class(TForm)
TBDock1: TTBXDock;
TBToolbar1: TTBXToolbar;
TBXSubmenuItem1: TTBXSubmenuItem;
TBXItem1: TTBXItem;
TBXItem2: TTBXItem;
TBXItem3: TTBXItem;
TBXItem4: TTBXItem;
mnEdit: TTBXSubmenuItem;
TBXItem5: TTBXItem;
TBXSeparatorItem1: TTBXSeparatorItem;
TBXSeparatorItem2: TTBXSeparatorItem;
TBXItem6: TTBXItem;
ImageList1: TImageList;
TBXItem7: TTBXItem;
TBXSeparatorItem3: TTBXSeparatorItem;
TBXItem8: TTBXItem;
TBXSubmenuItem3: TTBXSubmenuItem;
TBXSubmenuItem4: TTBXSubmenuItem;
TBXSeparatorItem4: TTBXSeparatorItem;
TBXItem9: TTBXItem;
TBXItem10: TTBXItem;
TBXItem11: TTBXItem;
TBXItem15: TTBXItem;
TBDock2: TTBXDock;
TBDock3: TTBXDock;
TBDock4: TTBXDock;
ImageList2: TImageList;
TBXSeparatorItem11: TTBXSeparatorItem;
TBXItem29: TTBXItem;
TBXItem28: TTBXItem;
TBXItem38: TTBXItem;
TBXToolbar2: TTBXToolbar;
TBXItem40: TTBXItem;
TBXItem41: TTBXItem;
TBXItem42: TTBXItem;
TBXSeparatorItem12: TTBXSeparatorItem;
TBXItem43: TTBXItem;
TBXItem44: TTBXItem;
TBXSeparatorItem13: TTBXSeparatorItem;
TBXItem45: TTBXItem;
TBXItem46: TTBXItem;
TBXItem47: TTBXItem;
TBXSeparatorItem14: TTBXSeparatorItem;
mnUndoItems: TTBXSubmenuItem;
TBXSubmenuItem9: TTBXSubmenuItem;
TBXItem12: TTBXItem;
TBXItem13: TTBXItem;
TBXSeparatorItem6: TTBXSeparatorItem;
bColorItem: TTBXColorItem;
TBXSubmenuItem6: TTBXSubmenuItem;
ColorDialog: TColorDialog;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXItem16: TTBXItem;
TBXItem17: TTBXItem;
TBXItem18: TTBXItem;
TBXItem19: TTBXItem;
TBXSeparatorItem9: TTBXSeparatorItem;
TBXItem20: TTBXItem;
TBXItem21: TTBXItem;
TBXSeparatorItem10: TTBXSeparatorItem;
TBXItem22: TTBXItem;
TBXMDIHandler1: TTBXMDIHandler;
TBXSubmenuItem5: TTBXSubmenuItem;
TBXMDIWindowItem1: TTBXMDIWindowItem;
TBXItem23: TTBXItem;
TBXItem26: TTBXItem;
TBXSeparatorItem16: TTBXSeparatorItem;
TBXSwitcher: TTBXSwitcher;
TBXPopupMenu1: TTBXPopupMenu;
TBXItem36: TTBXItem;
TBXItem37: TTBXItem;
TBXSubmenuItem7: TTBXSubmenuItem;
TBXItem39: TTBXItem;
TBXItem55: TTBXItem;
TBXSeparatorItem17: TTBXSeparatorItem;
TBXItem56: TTBXItem;
TBXItem57: TTBXItem;
TBXItem58: TTBXItem;
TBXItem59: TTBXItem;
TBXToolbar3: TTBXToolbar;
TBXSeparatorItem18: TTBXSeparatorItem;
TBXItem61: TTBXItem;
TBXItem62: TTBXItem;
TBXItem64: TTBXItem;
TBXItem65: TTBXItem;
TBXItem66: TTBXItem;
TBXSeparatorItem19: TTBXSeparatorItem;
TBXSubmenuItem8: TTBXSubmenuItem;
TBXSeparatorItem20: TTBXSeparatorItem;
MoreColors: TTBXItem;
TBXSeparatorItem5: TTBXSeparatorItem;
TBXLabelItem1: TTBXLabelItem;
TBToolbar3: TTBXToolbar;
be1: TTBXSubmenuItem;
TBXItem24: TTBXItem;
TBXItem25: TTBXItem;
TBXItem30: TTBXItem;
be2: TTBXSubmenuItem;
be3: TTBXItem;
be4: TTBXItem;
TBXSeparatorItem8: TTBXSeparatorItem;
be5: TTBXItem;
be6: TTBXItem;
be7: TTBXSubmenuItem;
TBXItem27: TTBXItem;
TBXItem31: TTBXItem;
TBXEditItem2: TTBXEditItem;
TBXSeparatorItem7: TTBXSeparatorItem;
UndoList: TTBXUndoList;
UndoLabel: TTBXLabelItem;
lstFonts: TTBXComboBoxItem;
TBXComboList1: TTBXComboBoxItem;
ColorCombo: TTBXDropDownItem;
TBXSubmenuItem10: TTBXSubmenuItem;
TBXList1: TTBXStringList;
TBXSeparatorItem15: TTBXSeparatorItem;
DockablePanel: TTBXDockablePanel;
TBXPageScroller: TTBXPageScroller;
TBXLabel1: TTBXLabel;
TBXLabel2: TTBXLabel;
TBXLabel3: TTBXLabel;
TBXAlignmentPanel2: TTBXAlignmentPanel;
ListBox1: TListBox;
TBXLabel4: TTBXLabel;
TBXAlignmentPanel4: TTBXAlignmentPanel;
TBXToolbar1: TTBXToolbar;
TBXSubmenuItem11: TTBXSubmenuItem;
TBXSeparatorItem21: TTBXSeparatorItem;
TBXComboList2: TTBXComboBoxItem;
ClrDefault: TTBXColorItem;
ColorPalette: TTBXColorPalette;
TBXSeparatorItem26: TTBXSeparatorItem;
ToolPalette: TTBXToolPalette;
TBXCheckBox1: TTBXCheckBox;
TBXRadioButton1: TTBXRadioButton;
TBXRadioButton2: TTBXRadioButton;
TBXRadioButton3: TTBXRadioButton;
TBXCheckBox2: TTBXCheckBox;
TBXLink1: TTBXLink;
TBXLabel5: TTBXLabel;
TBXStatusBar: TTBXStatusBar;
Edit1: TEdit;
bColorButton: TTBXSubmenuItem;
TBXSeparatorItem22: TTBXSeparatorItem;
TBXVisibilityToggleItem1: TTBXVisibilityToggleItem;
TBXSpinEditItem1: TTBXSpinEditItem;
TBXSeparatorItem23: TTBXSeparatorItem;
TBXComboList3: TTBXComboBoxItem;
TBXMultiDock1: TTBXMultiDock;
TBXMultiDock2: TTBXMultiDock;
TBXMultiDock3: TTBXMultiDock;
TBXMultiDock4: TTBXMultiDock;
TBXDockablePanel1: TTBXDockablePanel;
TBXDockablePanel2: TTBXDockablePanel;
TBXDockablePanel3: TTBXDockablePanel;
TBXLabel6: TTBXLabel;
TBXRadioButton4: TTBXRadioButton;
TBXRadioButton5: TTBXRadioButton;
TBXRadioButton6: TTBXRadioButton;
TBXLabel7: TTBXLabel;
TBXCheckBox3: TTBXCheckBox;
TBXCheckBox4: TTBXCheckBox;
TBXToolWindow1: TTBXToolWindow;
TBXSpinEditItem2: TTBXSpinEditItem;
TBXComboBoxItem1: TTBXComboBoxItem;
XPManifest1: TXPManifest;
TBXButton1: TTBXButton;
TBXButton2: TTBXButton;
TBXButton3: TTBXButton;
TBXPageScroller1: TTBXPageScroller;
TBXButton4: TTBXButton;
TBXButton5: TTBXButton;
TBXButton6: TTBXButton;
pruebaedit: TTBXEditItem;
procedure TBXItem31Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure MakeNewWindow(Sender: TObject);
procedure TBXItem23Click(Sender: TObject);
procedure TBXItem26Click(Sender: TObject);
procedure TBXItem27Click(Sender: TObject);
procedure mnUndoItemsPopup(Sender: TTBCustomItem; FromLink: Boolean);
procedure UndoListChange(Sender: TObject);
procedure lstFontsMeasureHeight(Sender: TTBXCustomList;
ACanvas: TCanvas; var AHeight: Integer);
procedure lstFontsDrawItem(Sender: TTBXCustomList; ACanvas: TCanvas;
ARect: TRect; AIndex, AHoverIndex: Integer; var DrawDefault: Boolean);
procedure TBXItem60Click(Sender: TObject);
procedure MoreColorsClick(Sender: TObject);
procedure ColorPaletteChange(Sender: TObject);
procedure ClrDefaultClick(Sender: TObject);
procedure TBXRadioButton1Change(Sender: TObject);
procedure TBXRadioButton2Change(Sender: TObject);
procedure TBXRadioButton3Change(Sender: TObject);
procedure TBXCheckBox1Change(Sender: TObject);
procedure TBXStatusBarPanelClick(Sender: TTBXCustomStatusBar;
Panel: TTBXStatusPanel);
procedure bColorButtonDrawImage(Item: TTBCustomItem;
Viewer: TTBItemViewer; Canvas: TCanvas; ImageRect: TRect;
ImageOffset: TPoint; StateFlags: Integer);
procedure TBXSpinEditItem1TextToValue(Sender: TTBXCustomSpinEditItem;
const AText: String; out AValue: Extended; var CanConvert: Boolean);
procedure TBXSpinEditItem1ValueToText(Sender: TTBXCustomSpinEditItem;
const AValue: Extended; var Text: String);
procedure TBXSpinEditItem1Convert(Sender: TTBXCustomSpinEditItem;
const APrefix, APostfix: String; var AValue: Extended;
var CanConvert: Boolean);
procedure TBXComboList3Change(Sender: TObject; const Text: String);
procedure TBXRadioButton4Click(Sender: TObject);
procedure TBXCheckBox3Change(Sender: TObject);
procedure TBXCheckBox4Change(Sender: TObject);
procedure TBXColorSet1GetColorInfo(Sender: TTBXCustomColorSet; Col,
Row: Integer; var Color: TColor; var Name: String);
procedure be3Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
uses Unit2, TBXUtils, TBXThemes;
{$R *.DFM}
procedure TForm1.TBXItem31Click(Sender: TObject);
begin
TTBXItem(Sender).Checked := True;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
C: HCURSOR;
begin
if not IsWindowsXP then
begin
TBXLabel1.Enabled := False;
TBXCheckBox1.Enabled := False;
end;
GetAvailableTBXThemes(ListBox1.Items);
lstFonts.Strings := Screen.Fonts;
{ Replace Borland's hand cursor with windows default one, if available }
C := LoadCursor(0, IDC_HAND);
if C <> 0 then Screen.Cursors[crHandPoint] := C;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
TBXSetTheme(ListBox1.Items[ListBox1.ItemIndex]);
end;
procedure TForm1.MakeNewWindow(Sender: TObject);
begin
TForm2.Create(Self);
end;
procedure TForm1.TBXItem23Click(Sender: TObject);
begin
Cascade;
end;
procedure TForm1.TBXItem26Click(Sender: TObject);
begin
Tile;
end;
procedure TForm1.TBXItem27Click(Sender: TObject);
begin
TTBXItem(Sender).Checked := True;
end;
type
TTBViewAccess = class(TTBView);
procedure TForm1.mnUndoItemsPopup(Sender: TTBCustomItem; FromLink: Boolean);
begin
UndoList.ItemIndex := 0;
end;
procedure TForm1.UndoListChange(Sender: TObject);
const
Actns: array [Boolean] of string = (' Action', ' Actions');
begin
with UndoList do
UndoLabel.UpdateCaption('Undo ' + IntToStr(ItemIndex + 1) + Actns[ItemIndex <> 0]);
end;
procedure TForm1.lstFontsMeasureHeight(Sender: TTBXCustomList;
ACanvas: TCanvas; var AHeight: Integer);
begin
AHeight := AHeight * 3 div 2;
end;
procedure TForm1.lstFontsDrawItem(Sender: TTBXCustomList; ACanvas: TCanvas;
ARect: TRect; AIndex, AHoverIndex: Integer; var DrawDefault: Boolean);
var
S: string;
begin
S := lstFonts.Strings[AIndex];
ACanvas.Font.Size := 12;
ACanvas.Font.Name := S;
end;
procedure TForm1.TBXItem60Click(Sender: TObject);
begin
DockablePanel.Visible := True;
end;
procedure TForm1.MoreColorsClick(Sender: TObject);
begin
with ColorDialog do
begin
Color := ColorPalette.Color;
if Execute then ColorPalette.Color := Color;
end;
end;
procedure TForm1.ColorPaletteChange(Sender: TObject);
begin
ClrDefault.Checked := ColorPalette.Color = clNone;
ColorCombo.Text := ColorPalette.ColorToString(ColorPalette.Color);
bColorItem.Color := ColorPalette.Color;
bColorItem.Caption := 'Current Color: ' + ColorPalette.ColorToString(ColorPalette.Color);
bColorButton.Invalidate;
end;
procedure TForm1.ClrDefaultClick(Sender: TObject);
begin
ColorPalette.Color := clNone;
ClrDefault.Checked := True;
end;
procedure TForm1.TBXRadioButton1Change(Sender: TObject);
begin
TBXSwitcher.FlatMenuStyle := fmsAuto;
end;
procedure TForm1.TBXRadioButton2Change(Sender: TObject);
begin
TBXSwitcher.FlatMenuStyle := fmsEnable;
end;
procedure TForm1.TBXRadioButton3Change(Sender: TObject);
begin
TBXSwitcher.FlatMenuStyle := fmsDisable;
end;
procedure TForm1.TBXCheckBox1Change(Sender: TObject);
begin
TBXSwitcher.EnableXPStyles := TBXCheckBox1.Checked;
end;
procedure TForm1.TBXStatusBarPanelClick(Sender: TTBXCustomStatusBar; Panel: TTBXStatusPanel);
begin
if Panel.Index in [2, 4] then Panel.Enabled := not Panel.Enabled;
end;
procedure TForm1.bColorButtonDrawImage(Item: TTBCustomItem;
Viewer: TTBItemViewer; Canvas: TCanvas; ImageRect: TRect;
ImageOffset: TPoint; StateFlags: Integer);
var
DC: HDC;
Color: TColor;
begin
DC := Canvas.Handle;
if not Boolean(StateFlags and ISF_DISABLED) then
begin
Color := ColorPalette.Color;
OffsetRect(ImageRect, ImageOffset.X, ImageOffset.Y);
ImageRect.Top := ImageRect.Bottom - 4;
if Color <> clNone then
begin
Canvas.Brush.Color := Color;
Canvas.FillRect(ImageRect);
end
else
begin
FrameRectEx(DC, ImageRect, clBtnShadow, True);
DitherRect(DC, ImageRect, clBtnFace, clBtnShadow);
end;
end;
end;
procedure TForm1.TBXSpinEditItem1TextToValue(
Sender: TTBXCustomSpinEditItem; const AText: String;
out AValue: Extended; var CanConvert: Boolean);
begin
if CompareText(AText, 'Auto') = 0 then
begin
AValue := 0;
CanConvert := True;
end
else if CompareText(AText, 'pi') = 0 then
begin
AValue := 3.14;
CanConvert := True;
end;
end;
procedure TForm1.TBXSpinEditItem1ValueToText(
Sender: TTBXCustomSpinEditItem; const AValue: Extended;
var Text: String);
begin
if AValue <= 0 then Text := 'Auto';
end;
procedure TForm1.TBXSpinEditItem1Convert(Sender: TTBXCustomSpinEditItem;
const APrefix, APostfix: String; var AValue: Extended;
var CanConvert: Boolean);
var
S: string;
begin
S := APostfix;
{ use current units if user did not type in units explicitly }
if Length(S) = 0 then S := Sender.Postfix;
{ convert everything to mm }
if CompareText(S, 'in') = 0 then AValue := AValue * 25.4
else if CompareText(S, 'cm') = 0 then AValue := AValue * 10;
{ convert mm to current units }
if CompareText(Sender.Postfix, 'in') = 0 then AValue := AValue / 25.4
else if CompareText(Sender.Postfix, 'cm') = 0 then AValue := AValue * 0.1;
end;
procedure TForm1.TBXComboList3Change(Sender: TObject; const Text: String);
begin
TBXSpinEditItem1.Postfix := Text;
end;
procedure TForm1.TBXRadioButton4Click(Sender: TObject);
begin
TBXDockablePanel1.CaptionRotation := TDPCaptionRotation((Sender as TComponent).Tag);
end;
procedure TForm1.TBXCheckBox3Change(Sender: TObject);
var
B: Boolean;
begin
B := (Sender as TTBXCheckBox).Checked;
DockablePanel.SmoothDrag := B;
TBXDockablePanel1.SmoothDrag := B;
TBXDockablePanel2.SmoothDrag := B;
TBXDockablePanel3.SmoothDrag := B;
end;
procedure TForm1.TBXCheckBox4Change(Sender: TObject);
var
B: Boolean;
begin
B := (Sender as TTBXCheckBox).Checked;
DockablePanel.SmoothDockedResize := B;
TBXDockablePanel1.SmoothDockedResize := B;
TBXDockablePanel2.SmoothDockedResize := B;
TBXDockablePanel3.SmoothDockedResize := B;
end;
procedure TForm1.TBXColorSet1GetColorInfo(Sender: TTBXCustomColorSet; Col,
Row: Integer; var Color: TColor; var Name: String);
begin
Color := clRed;
Name := 'Red';
end;
procedure TForm1.be3Click(Sender: TObject);
begin
TBXToolbar3.View.Select(TBXToolbar3.View.Find(pruebaedit), True);
TBXToolbar3.View.ExecuteSelected(True);
end;
end.