Class TAdvSplitter (unit AdvSplitter) |
Inherits from
TCustomControl
constructor Create(AOwner: TComponent);
procedure Center;
============== TAdvSplitter =================================
destructor Destroy;
procedure SwapPanes;
procedure CreateParams(var params: TCreateParams);
VCL and Windows Messages procedures
procedure CreateWnd;
function GetChildOwner : TComponent;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent);
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 ReadState(Reader: TReader);
if both panes are hidden, then draw the client rect
procedure CheckPosBounds(value: integer);
procedure CMCtl3DChanged(var msg: TMessage);
procedure CMDesignHitTest(var msg: TCMDesignHitTest);
procedure DoPaneResize(sender: TObject);
change position according to percentage of new dimensions
procedure DrawSplitRect(X,Y: integer);
function GetPane(index: Integer) : TAdvPane;
internal procedures
procedure InvalidateSplitRect;
procedure InvertSplitterRect(R: TRect);
FPos = new position
procedure Resize;
procedure SetActivePane(index: integer);
procedure SetAutoUpdate(value: Boolean);
procedure SetBorderStyle(value: TBorderStyle);
procedure SetOrientation(value: TSplitterOrientation);
procedure SetPosition(value: integer);
procedure SetSplitterColor(value: TColor);
procedure SetThickness(value: integer);
procedure UpdatePanes;
notify the designer of the change
procedure WMEraseBkGnd(var msg: TWMEraseBkGnd);
procedure WMParentNotify(var msg:TWMParentNotify);
Only Change cursor when Both Panes are visible and
when we are over the Splitter Rect
procedure WMSetCursor(var msg: TWMSetCursor);
record proportions
procedure WMSize(var msg: TWMSize);
Dont Erase BackGround
property Align :
inherited properties
property AllowResize : Boolean
properties
property AutoUpdate : Boolean
property BorderStyle : TBorderStyle
property Color :
property Ctl3D :
property Enabled :
property Orientation : TSplitterOrientation
property Pane1Setting : TAdvPaneSetting
property Pane2Setting : TAdvPaneSetting
property ParentCtl3D :
property ParentShowHint :
property Position : Integer
property ProportionalResize : boolean
property ShowHint :
property SplitterColor : TColor
property SplitterStyle : TSplitterStyle
property Thickness : Integer
property Visible :
property Pane : TAdvPane
event OnPaneResize : TNotifyEvent
events
event OnResize : TNotifyEvent
FAllowResize : Boolean;
FAutoUpdate : Boolean;
FBorderStyle : TBorderStyle;
FCanResize : Boolean;
FCheckeredBrush : HBRUSH;
FOnPaneResize : TNotifyEvent;
FOnResize : TNotifyEvent;
FOrientation : TSplitterOrientation;
FPane : array[0..1] of TAdvPane;
FPos : TPoint;
FPosition : Integer;
FPosPercent : real;
FProportionalResize : boolean;
FSetting1 : TAdvPaneSetting;
FSetting2 : TAdvPaneSetting;
FSplitterColor : TColor;
FSplitterStyle : TSplitterStyle;
FThickness : Integer;
constructor Create(AOwner: TComponent);
procedure Center;
============== TAdvSplitter =================================
destructor Destroy;
procedure SwapPanes;
procedure CreateParams(var params: TCreateParams);
VCL and Windows Messages procedures
procedure CreateWnd;
function GetChildOwner : TComponent;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent);
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 ReadState(Reader: TReader);
if both panes are hidden, then draw the client rect
procedure CheckPosBounds(value: integer);
procedure CMCtl3DChanged(var msg: TMessage);
procedure CMDesignHitTest(var msg: TCMDesignHitTest);
procedure DoPaneResize(sender: TObject);
change position according to percentage of new dimensions
procedure DrawSplitRect(X,Y: integer);
function GetPane(index: Integer) : TAdvPane;
internal procedures
procedure InvalidateSplitRect;
procedure InvertSplitterRect(R: TRect);
FPos = new position
procedure Resize;
procedure SetActivePane(index: integer);
procedure SetAutoUpdate(value: Boolean);
procedure SetBorderStyle(value: TBorderStyle);
procedure SetOrientation(value: TSplitterOrientation);
procedure SetPosition(value: integer);
procedure SetSplitterColor(value: TColor);
procedure SetThickness(value: integer);
procedure UpdatePanes;
notify the designer of the change
procedure WMEraseBkGnd(var msg: TWMEraseBkGnd);
procedure WMParentNotify(var msg:TWMParentNotify);
Only Change cursor when Both Panes are visible and
when we are over the Splitter Rect
procedure WMSetCursor(var msg: TWMSetCursor);
record proportions
procedure WMSize(var msg: TWMSize);
Dont Erase BackGround
property Align :
inherited properties
property AllowResize : Boolean
properties
property AutoUpdate : Boolean
property BorderStyle : TBorderStyle
property Color :
property Ctl3D :
property Enabled :
property Orientation : TSplitterOrientation
property Pane1Setting : TAdvPaneSetting
property Pane2Setting : TAdvPaneSetting
property ParentCtl3D :
property ParentShowHint :
property Position : Integer
property ProportionalResize : boolean
property ShowHint :
property SplitterColor : TColor
property SplitterStyle : TSplitterStyle
property Thickness : Integer
property Visible :
property Pane : TAdvPane
event OnPaneResize : TNotifyEvent
events
event OnResize : TNotifyEvent
FAllowResize : Boolean;
FAutoUpdate : Boolean;
FBorderStyle : TBorderStyle;
FCanResize : Boolean;
FCheckeredBrush : HBRUSH;
FOnPaneResize : TNotifyEvent;
FOnResize : TNotifyEvent;
FOrientation : TSplitterOrientation;
FPane : array[0..1] of TAdvPane;
FPos : TPoint;
FPosition : Integer;
FPosPercent : real;
FProportionalResize : boolean;
FSetting1 : TAdvPaneSetting;
FSetting2 : TAdvPaneSetting;
FSplitterColor : TColor;
FSplitterStyle : TSplitterStyle;
FThickness : Integer;