Class TSplitBox (unit SplitBox)

Inherits from

TCustomControl

Constructors


constructor Create(AOwner: TComponent);



Functions

procedure AddPartition1(Control: TControl);


procedure AddPartition2(Control: TControl);


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


procedure CreateParams(var Params: TCreateParams);


procedure DefineProperties(Filer: TFiler);


procedure GetChildren(Proc: TGetChildProc; Root: TComponent);


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 ReadPartition1Count(Reader: TReader);


procedure WndProc(var Message: TMessage);


procedure WritePartition1Count(Writer: TWriter);


procedure CMDesignHitTest(var Msg: TCMDesignHitTest);


function GetBevelInner: TPanelBevel;


function GetBevelOuter: TPanelBevel;


function GetBevelWidth: TBevelWidth;


function GetBorderWidth: TBorderWidth;


function GetDivision: Single;


function GetMinSizeLeftTop: NaturalNumber;


function GetMinSizeRightBottom: NaturalNumber;


procedure HidePartition(Index: TPartitionIndex);


procedure SetBevelInner(Value: TPanelBevel);


procedure SetBevelOuter(Value: TPanelBevel);


procedure SetBevelWidth(Value: TBevelWidth);


procedure SetBorderWidth(Value: TBorderWidth);


procedure SetDivision(Value: Single);


procedure SetMinSizeLeftTop(Value: NaturalNumber);


procedure SetMinSizeRightBottom(Value: NaturalNumber);


procedure SetPasteTarget(Value: TPasteTarget);

if (BevelOuter <> bvLowered) and (BevelInner <> bvLowered) then Frame3D(Canvas, R, clBtnHighLight, clBtnShadow, 1);

procedure SetSplitType(Value: TSplitType);


procedure SetTransparent(Value: Boolean);


procedure ShowPartition(Index: TPartitionIndex);


procedure UpdateDivision;


procedure UpdateHorz;


procedure UpdatePartitions;


procedure UpdateTransparent;


procedure UpdateVert;


procedure WMSetCursor(var Msg: TWMSetCursor);


Properties

property Align :


property BevelInner : TPanelBevel


property BevelOuter : TPanelBevel


property BevelWidth : TBevelWidth


property BorderWidth : TBorderWidth


property Division : Single


property MinSizeLeftTop : NaturalNumber


property MinSizeRightBottom : NaturalNumber


property PasteTarget : TPasteTarget

useful at design time only

property SplitType : TSplitType


property Transparent : Boolean


property Visible :


property Partition1 : TSplitBoxPartition


property Partition2 : TSplitBoxPartition


property Cursor :


Events

event OnHidePartition : TPartitionVisibilityEvent


event OnShowPartition : TPartitionVisibilityEvent


Variables

FDivision : Integer;


FMinSize1 : Integer;


FMinSize2 : Integer;


FMovePos : TPoint;


FOnHidePartition : TPartitionVisibilityEvent;


FOnShowPartition : TPartitionVisibilityEvent;


FPartition : array[TPartitionIndex] of TSplitBoxPartition;


FPartition1Count : Integer;


FPasteTarget : TPasteTarget;


FSplitterDragging : Boolean;


FSplitterRect : TRect;


FSplitType : TSplitType;


FTransparent : Boolean;



Constructors


constructor Create(AOwner: TComponent);


Functions


procedure AddPartition1(Control: TControl);


procedure AddPartition2(Control: TControl);


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


procedure CreateParams(var Params: TCreateParams);


procedure DefineProperties(Filer: TFiler);


procedure GetChildren(Proc: TGetChildProc; Root: TComponent);


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 ReadPartition1Count(Reader: TReader);


procedure WndProc(var Message: TMessage);


procedure WritePartition1Count(Writer: TWriter);


procedure CMDesignHitTest(var Msg: TCMDesignHitTest);


function GetBevelInner: TPanelBevel;


function GetBevelOuter: TPanelBevel;


function GetBevelWidth: TBevelWidth;


function GetBorderWidth: TBorderWidth;


function GetDivision: Single;


function GetMinSizeLeftTop: NaturalNumber;


function GetMinSizeRightBottom: NaturalNumber;


procedure HidePartition(Index: TPartitionIndex);


procedure SetBevelInner(Value: TPanelBevel);


procedure SetBevelOuter(Value: TPanelBevel);


procedure SetBevelWidth(Value: TBevelWidth);


procedure SetBorderWidth(Value: TBorderWidth);


procedure SetDivision(Value: Single);


procedure SetMinSizeLeftTop(Value: NaturalNumber);


procedure SetMinSizeRightBottom(Value: NaturalNumber);


procedure SetPasteTarget(Value: TPasteTarget);

if (BevelOuter <> bvLowered) and (BevelInner <> bvLowered) then Frame3D(Canvas, R, clBtnHighLight, clBtnShadow, 1);


procedure SetSplitType(Value: TSplitType);


procedure SetTransparent(Value: Boolean);


procedure ShowPartition(Index: TPartitionIndex);


procedure UpdateDivision;


procedure UpdateHorz;


procedure UpdatePartitions;


procedure UpdateTransparent;


procedure UpdateVert;


procedure WMSetCursor(var Msg: TWMSetCursor);


Properties


property Align :


property BevelInner : TPanelBevel


property BevelOuter : TPanelBevel


property BevelWidth : TBevelWidth


property BorderWidth : TBorderWidth


property Division : Single


property MinSizeLeftTop : NaturalNumber


property MinSizeRightBottom : NaturalNumber


property PasteTarget : TPasteTarget

useful at design time only


property SplitType : TSplitType


property Transparent : Boolean


property Visible :


property Partition1 : TSplitBoxPartition


property Partition2 : TSplitBoxPartition


property Cursor :


Events


event OnHidePartition : TPartitionVisibilityEvent


event OnShowPartition : TPartitionVisibilityEvent


Variables


FDivision : Integer;


FMinSize1 : Integer;


FMinSize2 : Integer;


FMovePos : TPoint;


FOnHidePartition : TPartitionVisibilityEvent;


FOnShowPartition : TPartitionVisibilityEvent;


FPartition : array[TPartitionIndex] of TSplitBoxPartition;


FPartition1Count : Integer;


FPasteTarget : TPasteTarget;


FSplitterDragging : Boolean;


FSplitterRect : TRect;


FSplitType : TSplitType;


FTransparent : Boolean;