From 3862018b5d8fca306257de62a3b3c9fad2ac261f Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sat, 23 Apr 2016 17:29:39 +0200 Subject: [PATCH] page control, add option to display the tabs at the bottom --- src/ce_controls.pas | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/ce_controls.pas b/src/ce_controls.pas index 2297892b..0de2ff8a 100644 --- a/src/ce_controls.pas +++ b/src/ce_controls.pas @@ -26,7 +26,7 @@ type property index: integer read getIndex; end; - TCEPagesOption = (poPageHistory); + TCEPagesOption = (poPageHistory, poBottomHeader); TCEPagesOptions = set of TCEPagesOption; const @@ -90,6 +90,7 @@ type procedure setOnDragOver(value: TDragOverEvent); procedure setOnDragDrop(value: TDragDropEvent); procedure setPagesOptions(value: TCEPagesOptions); + procedure setHeaderPosition(bottom: boolean); public constructor Create(aowner: TComponent); override; @@ -152,8 +153,6 @@ constructor TCEPageControl.Create(aowner: TComponent); begin inherited; - fOptions := defPagesOpt; - fHeader := TWinControl.Create(self); fHeader.Parent:= self; fHeader.Align := alTop; @@ -231,6 +230,8 @@ begin fPagesHistory := TFPList.Create; fPageIndex := -1; + setPagesOptions(defPagesOpt); + fButtons:= CEPageControlDefaultButtons; updateButtonsState; end; @@ -268,6 +269,20 @@ begin exit; fOptions := value; fPagesHistory.Clear; + setHeaderPosition(poBottomHeader in fOptions); +end; + +procedure TCEPageControl.setHeaderPosition(bottom: boolean); +begin + if bottom then + begin + fTabs.TabPosition:= tpBottom; + fHeader.Align:= alBottom; + end else + begin + fTabs.TabPosition:= tpTop; + fHeader.Align:= alTop; + end; end; procedure TCEPageControl.changedNotify;