Class TSpeedBar (unit SpeedBar)

Inherits from

TCustomPanel

Constructors


constructor Create(AOwner: TComponent);

TSpeedBar


Functions

function AcceptDropItem(Item: TSpeedItem; X, Y: Integer): Boolean;


procedure AddItem(Section: Integer; Item: TSpeedItem);


function AddSection(const ACaption: string): Integer;

delete section

procedure Customize(HelpCtx: Longint);


procedure DeleteSection(Section: Integer);

delete and free section and items

destructor Destroy;


function FindItem(Item: TSpeedItem; var Section, Index: Integer): Boolean;


function Items(Section, Index: Integer): TSpeedItem;


function ItemsCount(Section: Integer): Integer;


function NewItem(AOwner: TComponent; Section: Integer; const AName: string): TSpeedItem;


procedure RemoveItem(Item: TSpeedItem);


procedure RemoveSection(Section: Integer);


procedure RestoreLayout(IniFile: TIniFile);


procedure RestoreLayoutReg(IniFile: TRegIniFile);


procedure SaveLayout(IniFile: TIniFile);


procedure SaveLayoutReg(IniFile: TRegIniFile);


function SearchItem(const ItemName: string): TSpeedItem;


function SearchSection(const ACaption: string): Integer;


procedure SetEditing(Win: HWnd);


procedure SetFontDefault;


procedure AfterCustomize;


procedure AlignControls(AControl: TControl; var Rect: TRect);

fix previous version error

function AppendSection(Value: TSpeedbarSection): Integer;


procedure DefineProperties(Filer: TFiler);


procedure ForEachItem(Proc: TForEachItem; Data: Longint);


procedure GetChildren(Proc: TGetChildProc );


procedure Loaded;


procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);


procedure MouseMove(Shift: TShiftState; X, Y: Integer);


procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);


procedure Paint;


procedure PosChanged;


procedure SetChildOrder(Component: TComponent; Order: Integer);


procedure ApplyButtonSize;


procedure ApplyItemSize(Item: TSpeedItem; Data: Longint);

boVertical:

procedure ApplyOrientation(Value: TBarOrientation);


function CheckResize(Shift: TShiftState; X, Y: Integer): Boolean;


procedure ClearSections;


procedure CMEnabledChanged(var Message: TMessage);


procedure CMVisibleChanged(var Message: TMessage);


procedure DragFrame(X, Y: Integer);


procedure FlatItem(Item: TSpeedItem; Data: Longint);


function GetAlign: TAlign;


function GetButtonSize(Index: Integer): Integer;

update speedbar editor

function GetButtonsOffset(Index: Integer): Integer;


function GetFramePos(X, Y: Integer; var Apply: Boolean): Integer;


function GetFrameRect(X, Y: Integer): TRect;

left or bottom

function GetOrientation: TBarOrientation;


function GetSection(Index: Integer): TSpeedbarSection;

AllowDrag reading for backward compatibility only

function GetSectionCount: Integer;


function GetStorage: TFormPlacement;


procedure GrayedItem(Item: TSpeedItem; Data: Longint);


procedure HideItem(Item: TSpeedItem; Data: Longint);

The following strings should not be localized

procedure IniLoad(Sender: TObject);


procedure IniSave(Sender: TObject);


procedure InternalRestoreLayout(IniFile: TObject);


procedure InternalSaveLayout(IniFile: TObject);


function MinButtonsOffset: Integer;


procedure OffsetItem(Item: TSpeedItem; Data: Longint);


procedure ReadAllowDrag(Reader: TReader);


procedure ReadData(Reader: TReader);

fix previous version error

procedure ReadDesignStyle(Reader: TReader);


procedure ReadSections(Reader: TReader);


procedure SetAlign(Value: TAlign);


procedure SetBoundLines(Value: TBoundLines);


procedure SetButtonSize(Index, Value: Integer);


procedure SetButtonsOffset(Index: Integer; Value: Integer);


procedure SetItemButtonSize(Item: TSpeedItem; Data: Longint);


procedure SetItemEditing(Item: TSpeedItem; Data: Longint);


procedure SetItemEnabled(Item: TSpeedItem; Data: Longint);


procedure SetItemParams(Item: TSpeedItem; InitBounds: Boolean);


procedure SetItemVisible(Item: TSpeedItem; Data: Longint);


procedure SetOptions(Value: TSpeedbarOptions);


procedure SetOrientation(Value: TBarOrientation);


procedure SetStorage(Value: TFormPlacement);


procedure SetWallpaper(Value: TPicture);


procedure StartDragFrame;


procedure StopDragFrame(X, Y: Integer);


procedure SwapItemBounds(Item: TSpeedItem; Data: Longint);

update visible and parent after loading

procedure TransparentItem(Item: TSpeedItem; Data: Longint);


procedure UpdateGridSize;


procedure WallpaperChanged(Sender: TObject);


procedure WriteData(Writer: TWriter);


procedure WriteDesignStyle(Writer: TWriter);


procedure WriteItemLayout(Item: TSpeedItem; Data: Longint);


procedure WriteSections(Writer: TWriter);


Properties

property Align : TAlign

ensure Position is declared before Align

property BevelInner :


property BevelOuter :


property BevelWidth :


property BorderStyle :


property BorderWidth :


property BoundLines : TBoundLines


property BtnHeight : Integer


property BtnOffsetHorz : Integer


property BtnOffsetVert : Integer


property BtnWidth : Integer


property Color :


property Ctl3D :


property DragCursor :


property DragMode :


property Enabled :


property Font :

for internal use only

property IniStorage : TFormPlacement


property Locked :


property Options : TSpeedbarOptions

ensure Options is declared before BtnOffset.

property ParentColor :


property ParentCtl3D :


property ParentFont :


property ParentShowHint :


property PopupMenu :


property Position : TBarPosition


property ShowHint :


property TabOrder :


property TabStop :


property Version : Integer


property Visible :


property Wallpaper : TPicture


property Orientation : TBarOrientation


property SectionCount : Integer


property Sections : TSpeedbarSection


Events

event OnApplyAlign : TApplyAlignEvent


event OnClick :


event OnCustomize : TNotifyEvent


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnEnter :


event OnExit :


event OnMouseDown :


event OnMouseMove :


event OnMouseUp :


event OnPosChanged : TNotifyEvent


event OnResize :


event OnStartDrag :


event OnVisibleChanged : TNotifyEvent


event OnAddItem : TNotifyEvent


Variables

FAlign : TAlign;


FBoundLines : TBoundLines;


FButtonSize : TPoint;


FButtonStyle : TButtonStyle;


FDesignStyle : Boolean;


FDrag : Boolean;


FEditWin : HWnd;


FFix : Boolean;


FGridSize : TPoint;


FIniLink : TIniLink;


FLocked : Boolean;


FOffset : TPoint;


FOnAddItem : TNotifyEvent;


FOnApplyAlign : TApplyAlignEvent;


FOnCustomize : TNotifyEvent;


FOnPosChanged : TNotifyEvent;


FOnVisibleChanged : TNotifyEvent;


FOptions : TSpeedbarOptions;


FOrientation : TBarOrientation;


FPosition : TBarPosition;


FPrevAlign : TAlign;


FPrevRect : TRect;


FReserved : Integer;


FResizing : Boolean;


FRowCount : Integer;


FSections : TList;


FStartDrag : TPoint;


FVersion : Integer;


FWallpaper : TPicture;



Constructors


constructor Create(AOwner: TComponent);

TSpeedBar


Functions


function AcceptDropItem(Item: TSpeedItem; X, Y: Integer): Boolean;


procedure AddItem(Section: Integer; Item: TSpeedItem);


function AddSection(const ACaption: string): Integer;

delete section


procedure Customize(HelpCtx: Longint);


procedure DeleteSection(Section: Integer);

delete and free section and items


destructor Destroy;


function FindItem(Item: TSpeedItem; var Section, Index: Integer): Boolean;


function Items(Section, Index: Integer): TSpeedItem;


function ItemsCount(Section: Integer): Integer;


function NewItem(AOwner: TComponent; Section: Integer; const AName: string): TSpeedItem;


procedure RemoveItem(Item: TSpeedItem);


procedure RemoveSection(Section: Integer);


procedure RestoreLayout(IniFile: TIniFile);


procedure RestoreLayoutReg(IniFile: TRegIniFile);


procedure SaveLayout(IniFile: TIniFile);


procedure SaveLayoutReg(IniFile: TRegIniFile);


function SearchItem(const ItemName: string): TSpeedItem;


function SearchSection(const ACaption: string): Integer;


procedure SetEditing(Win: HWnd);


procedure SetFontDefault;


procedure AfterCustomize;


procedure AlignControls(AControl: TControl; var Rect: TRect);

fix previous version error


function AppendSection(Value: TSpeedbarSection): Integer;


procedure DefineProperties(Filer: TFiler);


procedure ForEachItem(Proc: TForEachItem; Data: Longint);


procedure GetChildren(Proc: TGetChildProc );


procedure Loaded;


procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);


procedure MouseMove(Shift: TShiftState; X, Y: Integer);


procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);


procedure Paint;


procedure PosChanged;


procedure SetChildOrder(Component: TComponent; Order: Integer);


procedure ApplyButtonSize;


procedure ApplyItemSize(Item: TSpeedItem; Data: Longint);

boVertical:


procedure ApplyOrientation(Value: TBarOrientation);


function CheckResize(Shift: TShiftState; X, Y: Integer): Boolean;


procedure ClearSections;


procedure CMEnabledChanged(var Message: TMessage);


procedure CMVisibleChanged(var Message: TMessage);


procedure DragFrame(X, Y: Integer);


procedure FlatItem(Item: TSpeedItem; Data: Longint);


function GetAlign: TAlign;


function GetButtonSize(Index: Integer): Integer;

update speedbar editor


function GetButtonsOffset(Index: Integer): Integer;


function GetFramePos(X, Y: Integer; var Apply: Boolean): Integer;


function GetFrameRect(X, Y: Integer): TRect;

left or bottom


function GetOrientation: TBarOrientation;


function GetSection(Index: Integer): TSpeedbarSection;

AllowDrag reading for backward compatibility only


function GetSectionCount: Integer;


function GetStorage: TFormPlacement;


procedure GrayedItem(Item: TSpeedItem; Data: Longint);


procedure HideItem(Item: TSpeedItem; Data: Longint);

The following strings should not be localized


procedure IniLoad(Sender: TObject);


procedure IniSave(Sender: TObject);


procedure InternalRestoreLayout(IniFile: TObject);


procedure InternalSaveLayout(IniFile: TObject);


function MinButtonsOffset: Integer;


procedure OffsetItem(Item: TSpeedItem; Data: Longint);


procedure ReadAllowDrag(Reader: TReader);


procedure ReadData(Reader: TReader);

fix previous version error


procedure ReadDesignStyle(Reader: TReader);


procedure ReadSections(Reader: TReader);


procedure SetAlign(Value: TAlign);


procedure SetBoundLines(Value: TBoundLines);


procedure SetButtonSize(Index, Value: Integer);


procedure SetButtonsOffset(Index: Integer; Value: Integer);


procedure SetItemButtonSize(Item: TSpeedItem; Data: Longint);


procedure SetItemEditing(Item: TSpeedItem; Data: Longint);


procedure SetItemEnabled(Item: TSpeedItem; Data: Longint);


procedure SetItemParams(Item: TSpeedItem; InitBounds: Boolean);


procedure SetItemVisible(Item: TSpeedItem; Data: Longint);


procedure SetOptions(Value: TSpeedbarOptions);


procedure SetOrientation(Value: TBarOrientation);


procedure SetStorage(Value: TFormPlacement);


procedure SetWallpaper(Value: TPicture);


procedure StartDragFrame;


procedure StopDragFrame(X, Y: Integer);


procedure SwapItemBounds(Item: TSpeedItem; Data: Longint);

update visible and parent after loading


procedure TransparentItem(Item: TSpeedItem; Data: Longint);


procedure UpdateGridSize;


procedure WallpaperChanged(Sender: TObject);


procedure WriteData(Writer: TWriter);


procedure WriteDesignStyle(Writer: TWriter);


procedure WriteItemLayout(Item: TSpeedItem; Data: Longint);


procedure WriteSections(Writer: TWriter);


Properties


property Align : TAlign

ensure Position is declared before Align


property BevelInner :


property BevelOuter :


property BevelWidth :


property BorderStyle :


property BorderWidth :


property BoundLines : TBoundLines


property BtnHeight : Integer


property BtnOffsetHorz : Integer


property BtnOffsetVert : Integer


property BtnWidth : Integer


property Color :


property Ctl3D :


property DragCursor :


property DragMode :


property Enabled :


property Font :

for internal use only


property IniStorage : TFormPlacement


property Locked :


property Options : TSpeedbarOptions

ensure Options is declared before BtnOffset...


property ParentColor :


property ParentCtl3D :


property ParentFont :


property ParentShowHint :


property PopupMenu :


property Position : TBarPosition


property ShowHint :


property TabOrder :


property TabStop :


property Version : Integer


property Visible :


property Wallpaper : TPicture


property Orientation : TBarOrientation


property SectionCount : Integer


property Sections : TSpeedbarSection


Events


event OnApplyAlign : TApplyAlignEvent


event OnClick :


event OnCustomize : TNotifyEvent


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnEnter :


event OnExit :


event OnMouseDown :


event OnMouseMove :


event OnMouseUp :


event OnPosChanged : TNotifyEvent


event OnResize :


event OnStartDrag :


event OnVisibleChanged : TNotifyEvent


event OnAddItem : TNotifyEvent


Variables


FAlign : TAlign;


FBoundLines : TBoundLines;


FButtonSize : TPoint;


FButtonStyle : TButtonStyle;


FDesignStyle : Boolean;


FDrag : Boolean;


FEditWin : HWnd;


FFix : Boolean;


FGridSize : TPoint;


FIniLink : TIniLink;


FLocked : Boolean;


FOffset : TPoint;


FOnAddItem : TNotifyEvent;


FOnApplyAlign : TApplyAlignEvent;


FOnCustomize : TNotifyEvent;


FOnPosChanged : TNotifyEvent;


FOnVisibleChanged : TNotifyEvent;


FOptions : TSpeedbarOptions;


FOrientation : TBarOrientation;


FPosition : TBarPosition;


FPrevAlign : TAlign;


FPrevRect : TRect;


FReserved : Integer;


FResizing : Boolean;


FRowCount : Integer;


FSections : TList;


FStartDrag : TPoint;


FVersion : Integer;


FWallpaper : TPicture;