add csHasInternalChilds, assign it to PairSplitter and handle it during TabList populating (solves 0010628)

git-svn-id: trunk@13795 -
This commit is contained in:
paul 2008-01-19 11:07:41 +00:00
parent 18895ffce8
commit 7e0bffce57
3 changed files with 20 additions and 17 deletions

View File

@ -180,34 +180,35 @@ type
TWndMethod = procedure(var TheMessage: TLMessage) of Object;
TControlStyleType = (
csAcceptsControls, // can have childs in the designer
csAcceptsControls, // can have childs in the designer
csCaptureMouse,
csDesignInteractive, // wants mouse events in design mode
csDesignInteractive, // wants mouse events in design mode
csClickEvents,
csFramed,
csSetCaption,
csOpaque,
csDoubleClicks,// control understands mouse double clicks
csTripleClicks,// control understands mouse triple clicks
csQuadClicks, // control understands mouse quad clicks
csDoubleClicks, // control understands mouse double clicks
csTripleClicks, // control understands mouse triple clicks
csQuadClicks, // control understands mouse quad clicks
csFixedWidth,
csFixedHeight, // control cannot change it height (for example combobox)
csFixedHeight, // control cannot change it height (for example combobox)
csNoDesignVisible,
csReplicatable,
csNoStdEvents,
csDisplayDragImage,
csDisplayDragImage, // display images from dragimagelist during drag operation over control
csReflector,
csActionClient,
csMenuEvents,
csNoFocus,
csNeedsBorderPaint, // not implemented
csParentBackground, // not implemented
csDesignNoSmoothResize, // no WYSIWYG resizing in designer
csDesignFixedBounds, // control can not be moved nor resized in designer
csHasDefaultAction, // control implements useful ExecuteDefaultAction
csHasCancelAction, // control implements useful ExecuteCancelAction
csNoDesignSelectable, // control can not be selected at design time
csOwnedChildsSelectable // child controls owned by this control are selectable in the designer
csNeedsBorderPaint, // not implemented
csParentBackground, // not implemented
csDesignNoSmoothResize, // no WYSIWYG resizing in designer
csDesignFixedBounds, // control can not be moved nor resized in designer
csHasDefaultAction, // control implements useful ExecuteDefaultAction
csHasCancelAction, // control implements useful ExecuteCancelAction
csNoDesignSelectable, // control can not be selected at design time
csOwnedChildsSelectable, // child controls owned by this control are selectable in the designer
csHasInternalChilds // control is a complex control with childs inside
);
TControlStyle = set of TControlStyleType;

View File

@ -5433,7 +5433,9 @@ begin
FWinControls.Insert(Index,AControl)
else
ListAdd(FWinControls, AControl);
if TWinControl(AControl).TabStop or (csAcceptsControls in AControl.ControlStyle) then
if TWinControl(AControl).TabStop or
([csAcceptsControls, csHasInternalChilds] * AControl.ControlStyle <> []) then
ListAdd(FTabList, AControl);
if (csDesigning in ComponentState) and (not (csLoading in ComponentState))

View File

@ -342,7 +342,7 @@ constructor TCustomPairSplitter.Create(TheOwner: TComponent);
begin
inherited Create(TheOwner);
FCompStyle := csPairSplitter;
ControlStyle := ControlStyle - [csAcceptsControls];
ControlStyle := ControlStyle - [csAcceptsControls] + [csHasInternalChilds];
FSplitterType := pstHorizontal;
Cursor := crHSplit;
SetInitialBounds(0,0,GetControlClassDefaultSize.X,GetControlClassDefaultSize.Y);