// CodeGear C++Builder // Copyright (c) 1995, 2008 by CodeGear // All rights reserved // (DO NOT EDIT: machine generated header) 'Sptbxtabs.pas' rev: 20.00 #ifndef SptbxtabsHPP #define SptbxtabsHPP #pragma delphiheader begin #pragma option push #pragma option -w- // All warnings off #pragma option -Vx // Zero-length empty class member functions #pragma pack(push,8) #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit //-- user supplied ----------------------------------------------------------- namespace Sptbxtabs { //-- type declarations ------------------------------------------------------- #pragma option push -b- enum TSpTBXTabEdge { tedNone, tedLeft, tedRight }; #pragma option pop #pragma option push -b- enum TSpTBXTabPosition { ttpTop, ttpBottom }; #pragma option pop #pragma option push -b- enum TSpTBXTabCloseButton { tcbNone, tcbActive, tcbAll }; #pragma option pop typedef void __fastcall (__closure *TSpTBXTabChangeEvent)(System::TObject* Sender, int TabIndex); typedef void __fastcall (__closure *TSpTBXTabChangingEvent)(System::TObject* Sender, int TabIndex, int NewTabIndex, bool &Allow); typedef void __fastcall (__closure *TSpTBXTabClosingEvent)(System::TObject* Sender, bool &Allow, bool &CloseAndFree); class DELPHICLASS TSpTBXTabItemDragObject; class PASCALIMPLEMENTATION TSpTBXTabItemDragObject : public Sptbxitem::TSpTBXCustomDragObject { typedef Sptbxitem::TSpTBXCustomDragObject inherited; public: __fastcall virtual TSpTBXTabItemDragObject(Controls::TControl* ASourceControl, Tb2item::TTBCustomItem* AItem); public: /* TObject.Destroy */ inline __fastcall virtual ~TSpTBXTabItemDragObject(void) { } }; class DELPHICLASS TSpTBXTabItem; class DELPHICLASS TSpTBXTabToolbar; class PASCALIMPLEMENTATION TSpTBXTabItem : public Sptbxitem::TSpTBXCustomItem { typedef Sptbxitem::TSpTBXCustomItem inherited; private: Sptbxskins::TSpTBXSkinType FSkinType; Sptbxitem::TSpTBXDrawImageEvent FOnDrawTabCloseButton; Classes::TNotifyEvent FOnTabClose; TSpTBXTabClosingEvent FOnTabClosing; Graphics::TColor __fastcall GetTabColor(void); Sptbxskins::TSpTBXSkinType __fastcall GetSkinType(void); void __fastcall SetSkinType(const Sptbxskins::TSpTBXSkinType Value); protected: virtual bool __fastcall DialogChar(System::Word CharCode); virtual void __fastcall DoDrawTabCloseButton(Graphics::TCanvas* ACanvas, Sptbxskins::TSpTBXSkinStatesType State, const Sptbxitem::TSpTBXPaintStage PaintStage, Imglist::TCustomImageList* AImageList, int &AImageIndex, Types::TRect &ARect, bool &PaintDefault); virtual void __fastcall DoTabClose(void); virtual void __fastcall DoTabClosing(bool &Allow, bool &CloseAndFree); virtual Tb2item::TTBItemViewerClass __fastcall GetItemViewerClass(Tb2item::TTBView* AView); bool __fastcall GetTabToolbar(/* out */ TSpTBXTabToolbar* &TabToolbar); virtual void __fastcall ToggleControl(void); __property Control; __property Graphics::TColor TabColor = {read=GetTabColor, nodefault}; public: __fastcall virtual TSpTBXTabItem(Classes::TComponent* AOwner); virtual void __fastcall Click(void); void __fastcall TabClose(void); TSpTBXTabItem* __fastcall GetNextTab(bool GoForward, Sptbxitem::TSpTBXSearchItemViewerType SearchType); bool __fastcall IsFirstVisible(void); bool __fastcall IsFirstVisibleTab(void); bool __fastcall IsLastVisibleTab(void); __published: __property Action; __property Checked = {default=0}; __property Enabled = {default=1}; __property HelpContext = {default=0}; __property ImageIndex = {default=-1}; __property Images; __property InheritOptions = {default=1}; __property MaskOptions = {default=0}; __property Options = {default=0}; __property ShortCut = {default=0}; __property Visible = {default=1}; __property OnClick; __property OnSelect; __property Alignment = {default=2}; __property CustomWidth = {default=-1}; __property CustomHeight = {default=-1}; __property Margins = {default=4}; __property MinHeight = {default=0}; __property MinWidth = {default=0}; __property FontSettings; __property Wrapping = {default=1}; __property OnDrawImage; __property OnDrawItem; __property OnDrawHint; __property OnDrawCaption; __property Sptbxskins::TSpTBXSkinType SkinType = {read=GetSkinType, write=SetSkinType, default=2}; __property Sptbxitem::TSpTBXDrawImageEvent OnDrawTabCloseButton = {read=FOnDrawTabCloseButton, write=FOnDrawTabCloseButton}; __property Classes::TNotifyEvent OnTabClose = {read=FOnTabClose, write=FOnTabClose}; __property TSpTBXTabClosingEvent OnTabClosing = {read=FOnTabClosing, write=FOnTabClosing}; public: /* TSpTBXCustomItem.Destroy */ inline __fastcall virtual ~TSpTBXTabItem(void) { } }; class DELPHICLASS TSpTBXTabItemViewer; class PASCALIMPLEMENTATION TSpTBXTabItemViewer : public Sptbxitem::TSpTBXItemViewer { typedef Sptbxitem::TSpTBXItemViewer inherited; private: Sptbxskins::TSpTBXSkinStatesType FTabCloseButtonState; Types::TRect __fastcall CorrectTabRect(const Types::TRect &ARect); HIDESBASE TSpTBXTabItem* __fastcall GetItem(void); void __fastcall GetTabCloseButtonImgList(Imglist::TCustomImageList* &AImageList, int &AImageIndex); bool __fastcall IsTabCloseButtonVisible(void); TSpTBXTabPosition __fastcall GetTabPosition(void); protected: virtual void __fastcall CalcSize(const Graphics::TCanvas* Canvas, int &AWidth, int &AHeight); virtual void __fastcall DoDrawButton(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const Sptbxskins::TSpTBXMenuItemInfo &ItemInfo, const Sptbxitem::TSpTBXPaintStage PaintStage, bool &PaintDefault); virtual void __fastcall DoDrawCaption(Graphics::TCanvas* ACanvas, const Types::TRect &ClientAreaRect, Sptbxskins::TSpTBXSkinStatesType State, System::WideString &ACaption, Types::TRect &CaptionRect, unsigned &CaptionFormat, bool IsTextRotated, const Sptbxitem::TSpTBXPaintStage PaintStage, bool &PaintDefault); virtual void __fastcall DoDrawImage(Graphics::TCanvas* ACanvas, Sptbxskins::TSpTBXSkinStatesType State, const Sptbxitem::TSpTBXPaintStage PaintStage, Imglist::TCustomImageList* &AImageList, int &AImageIndex, Types::TRect &ARect, bool &PaintDefault); virtual void __fastcall DoDrawTabCloseButton(Graphics::TCanvas* ACanvas, Sptbxskins::TSpTBXSkinStatesType State, const Sptbxitem::TSpTBXPaintStage PaintStage, Imglist::TCustomImageList* &AImageList, int &AImageIndex, Types::TRect &ARect, bool &PaintDefault); void __fastcall DrawBottomBorder(Graphics::TCanvas* ACanvas, const Types::TRect &ARect); virtual void __fastcall DrawTab(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool AEnabled, bool AChecked, bool AHoverItem, TSpTBXTabPosition Position, bool ASeparator = false, TSpTBXTabEdge AEdge = (TSpTBXTabEdge)(0x0)); virtual void __fastcall DrawItemRightImage(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const Sptbxskins::TSpTBXMenuItemInfo &ItemInfo); virtual tagSIZE __fastcall GetRightImageSize(); Types::TRect __fastcall GetRightImageRect(); virtual Graphics::TColor __fastcall GetTextColor(Sptbxskins::TSpTBXSkinStatesType State); virtual void __fastcall InternalMouseMove(Classes::TShiftState Shift, int X, int Y); virtual void __fastcall Leaving(void); public: bool __fastcall IsOnTabToolbar(void); __property TSpTBXTabItem* Item = {read=GetItem}; __property Sptbxskins::TSpTBXSkinStatesType TabCloseButtonState = {read=FTabCloseButtonState, nodefault}; __property TSpTBXTabPosition TabPosition = {read=GetTabPosition, nodefault}; public: /* TTBItemViewer.Create */ inline __fastcall virtual TSpTBXTabItemViewer(Tb2item::TTBView* AView, Tb2item::TTBCustomItem* AItem, int AGroupLevel) : Sptbxitem::TSpTBXItemViewer(AView, AItem, AGroupLevel) { } /* TTBItemViewer.Destroy */ inline __fastcall virtual ~TSpTBXTabItemViewer(void) { } }; class DELPHICLASS TSpTBXCustomTabSet; class PASCALIMPLEMENTATION TSpTBXTabToolbar : public Sptbxitem::TSpTBXToolbar { typedef Sptbxitem::TSpTBXToolbar inherited; private: Sptbxskins::TSpTBXSkinType FSkinType; int FUpdateHidden; bool FTabAutofit; int FTabAutofitMaxSize; int FTabCloseButtonImageIndex; TSpTBXTabCloseButton FTabCloseButton; bool FTabDragReorder; bool FTabBackgroundBorders; Graphics::TColor FTabColor; int FTabMaxSize; TSpTBXTabPosition FTabPosition; void __fastcall Scroll(bool ToRight); TSpTBXTabItem* __fastcall GetActiveTab(void); void __fastcall SetActiveTabIndex(int Value); void __fastcall SetSkinType(const Sptbxskins::TSpTBXSkinType Value); void __fastcall SetTabCloseButton(const TSpTBXTabCloseButton Value); void __fastcall SetTabCloseButtonImageIndex(const int Value); void __fastcall SetTabAutofit(const bool Value); void __fastcall SetTabAutofitMaxSize(const int Value); void __fastcall SetTabBackgroundBorders(const bool Value); void __fastcall SetTabColor(const Graphics::TColor Value); void __fastcall SetTabMaxSize(const int Value); void __fastcall SetTabPosition(const TSpTBXTabPosition Value); HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message); protected: Sptbxitem::TSpTBXItemCacheCollection* FHiddenTabs; int FActiveTabIndex; TSpTBXCustomTabSet* FOwnerTabControl; void __fastcall Autofit(void); virtual Graphics::TColor __fastcall GetItemsTextColor(Sptbxskins::TSpTBXSkinStatesType State); virtual void __fastcall InternalDrawBackground(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool PaintOnNCArea, bool PaintBorders = true); virtual void __fastcall DoItemNotification(Tb2item::TTBCustomItem* Ancestor, bool Relayed, Tb2item::TTBItemChangedAction Action, int Index, Tb2item::TTBCustomItem* Item); virtual void __fastcall RightAlignItems(void); virtual bool __fastcall CanDragCustomize(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y); DYNAMIC void __fastcall DoStartDrag(Controls::TDragObject* &DragObject); DYNAMIC void __fastcall DragOver(System::TObject* Source, int X, int Y, Controls::TDragState State, bool &Accept); public: __fastcall virtual TSpTBXTabToolbar(Classes::TComponent* AOwner); __fastcall virtual ~TSpTBXTabToolbar(void); void __fastcall BeginUpdateHidden(void); void __fastcall EndUpdateHidden(void); int __fastcall GetTabsCount(bool VisibleOnly); void __fastcall InvalidateActiveTab(void); void __fastcall InvalidateNC(void); void __fastcall MakeVisible(TSpTBXTabItem* ATab); void __fastcall ScrollLeft(void); void __fastcall ScrollRight(void); void __fastcall ScrollState(/* out */ bool &CanScrollToLeft, /* out */ bool &CanScrollToRight); void __fastcall TabClose(TSpTBXTabItem* ATab); __published: __property TSpTBXTabItem* ActiveTab = {read=GetActiveTab}; __property int ActiveTabIndex = {read=FActiveTabIndex, write=SetActiveTabIndex, nodefault}; __property TSpTBXTabCloseButton TabCloseButton = {read=FTabCloseButton, write=SetTabCloseButton, default=0}; __property int TabCloseButtonImageIndex = {read=FTabCloseButtonImageIndex, write=SetTabCloseButtonImageIndex, default=-1}; __property bool TabBackgroundBorders = {read=FTabBackgroundBorders, write=SetTabBackgroundBorders, nodefault}; __property bool TabAutofit = {read=FTabAutofit, write=SetTabAutofit, default=0}; __property int TabAutofitMaxSize = {read=FTabAutofitMaxSize, write=SetTabAutofitMaxSize, default=200}; __property Graphics::TColor TabColor = {read=FTabColor, write=SetTabColor, default=-16777201}; __property int TabMaxSize = {read=FTabMaxSize, write=SetTabMaxSize, default=-1}; __property TSpTBXTabPosition TabPosition = {read=FTabPosition, write=SetTabPosition, default=0}; __property bool TabDragReorder = {read=FTabDragReorder, write=FTabDragReorder, default=0}; __property Sptbxskins::TSpTBXSkinType SkinType = {read=FSkinType, write=SetSkinType, default=2}; public: /* TWinControl.CreateParented */ inline __fastcall TSpTBXTabToolbar(HWND ParentWindow) : Sptbxitem::TSpTBXToolbar(ParentWindow) { } }; class DELPHICLASS TSpTBXTabSheet; class DELPHICLASS TSpTBXCustomTabControl; class PASCALIMPLEMENTATION TSpTBXTabSheet : public Controls::TCustomControl { typedef Controls::TCustomControl inherited; private: TSpTBXCustomTabControl* FTabControl; TSpTBXTabItem* FItem; System::UnicodeString FItemName; Controls::TWinControl* FPrevFocused; void __fastcall ReadItemName(Classes::TReader* Reader); void __fastcall WriteItemName(Classes::TWriter* Writer); System::WideString __fastcall GetCaption(); bool __fastcall GetTabVisible(void); void __fastcall SetCaption(const System::WideString Value); void __fastcall SetTabVisible(const bool Value); int __fastcall GetImageIndex(void); void __fastcall SetImageIndex(const int Value); HIDESBASE MESSAGE void __fastcall CMVisiblechanged(Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message); HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message); protected: virtual void __fastcall CreateParams(Controls::TCreateParams &Params); virtual void __fastcall AdjustClientRect(Types::TRect &Rect); virtual void __fastcall DefineProperties(Classes::TFiler* Filer); virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation); virtual void __fastcall ReadState(Classes::TReader* Reader); DYNAMIC void __fastcall VisibleChanging(void); __property Align = {default=5}; __property Controls::TWinControl* PrevFocused = {read=FPrevFocused}; public: __fastcall virtual TSpTBXTabSheet(Classes::TComponent* AOwner); __fastcall virtual ~TSpTBXTabSheet(void); __property TSpTBXTabItem* Item = {read=FItem, write=FItem}; __property TSpTBXCustomTabControl* TabControl = {read=FTabControl, write=FTabControl}; __published: __property PopupMenu; __property System::WideString Caption = {read=GetCaption, write=SetCaption}; __property int ImageIndex = {read=GetImageIndex, write=SetImageIndex, nodefault}; __property bool TabVisible = {read=GetTabVisible, write=SetTabVisible, default=1}; public: /* TWinControl.CreateParented */ inline __fastcall TSpTBXTabSheet(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { } }; class PASCALIMPLEMENTATION TSpTBXCustomTabSet : public Sptbxitem::TSpTBXCompoundItemsControl { typedef Sptbxitem::TSpTBXCompoundItemsControl inherited; private: int FItemMoveCount; TSpTBXTabItem* FItemMoved; bool FTabVisible; int FLoadingActiveIndex; bool FUpdatingIndex; bool FResizing; Sptbxitem::TSpTBXDrawEvent FOnDrawBackground; TSpTBXTabChangeEvent FOnActiveTabChange; TSpTBXTabChangingEvent FOnActiveTabChanging; TSpTBXTabChangeEvent FOnActiveTabReorder; TSpTBXTabChangingEvent FOnActiveTabReordering; void __fastcall ReadHiddenItems(Classes::TReader* Reader); void __fastcall WriteHiddenItems(Classes::TWriter* Writer); int __fastcall GetActiveTabIndex(void); void __fastcall SetActiveTabIndex(int Value); Sptbxskins::TSpTBXSkinType __fastcall GetSkinType(void); HIDESBASE void __fastcall SetSkinType(const Sptbxskins::TSpTBXSkinType Value); bool __fastcall GetTabAutofit(void); void __fastcall SetTabAutofit(const bool Value); int __fastcall GetTabAutofitMaxSize(void); void __fastcall SetTabAutofitMaxSize(const int Value); bool __fastcall GetTabBackgroundBorders(void); void __fastcall SetTabBackgroundBorders(const bool Value); Graphics::TColor __fastcall GetTabBackgroundColor(void); void __fastcall SetTabBackgroundColor(const Graphics::TColor Value); TSpTBXTabCloseButton __fastcall GetTabCloseButton(void); void __fastcall SetTabCloseButton(const TSpTBXTabCloseButton Value); int __fastcall GetTabCloseButtonImageIndex(void); void __fastcall SetTabCloseButtonImageIndex(const int Value); bool __fastcall GetTabDragReorder(void); void __fastcall SetTabDragReorder(const bool Value); int __fastcall GetTabMaxSize(void); void __fastcall SetTabMaxSize(const int Value); TSpTBXTabPosition __fastcall GetTabPosition(void); void __fastcall SetTabPosition(const TSpTBXTabPosition Value); void __fastcall SetTabVisible(const bool Value); TSpTBXTabToolbar* __fastcall GetTabToolbar(void); HIDESBASE MESSAGE void __fastcall CMColorchanged(Messages::TMessage &Message); MESSAGE void __fastcall CMSpTBXControlsInvalidate(Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TMessage &Message); MESSAGE void __fastcall WMInvalidateTabBackground(Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message); protected: Graphics::TBitmap* FBackground; virtual void __fastcall DoDrawBackground(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const Sptbxitem::TSpTBXPaintStage PaintStage, bool &PaintDefault); virtual bool __fastcall GetFullRepaint(void); virtual bool __fastcall CanActiveTabChange(const int TabIndex, const int NewTabIndex); virtual void __fastcall DoActiveTabChange(const int TabIndex); virtual bool __fastcall CanActiveTabReorder(const int TabIndex, const int NewTabIndex); virtual void __fastcall DoActiveTabReorder(const int TabIndex); virtual void __fastcall ItemNotification(Tb2item::TTBCustomItem* Ancestor, bool Relayed, Tb2item::TTBItemChangedAction Action, int Index, Tb2item::TTBCustomItem* Item); virtual void __fastcall TabInserted(TSpTBXTabItem* Item); virtual void __fastcall TabDeleting(TSpTBXTabItem* Item, bool FreeTabSheet = true); virtual void __fastcall DefineProperties(Classes::TFiler* Filer); virtual Sptbxitem::TSpTBXToolbarClass __fastcall GetToolbarClass(void); virtual void __fastcall Loaded(void); __property Color = {default=-16777201}; __property ParentColor = {default=0}; __property int ActiveTabIndex = {read=GetActiveTabIndex, write=SetActiveTabIndex, nodefault}; __property bool TabAutofit = {read=GetTabAutofit, write=SetTabAutofit, default=0}; __property int TabAutofitMaxSize = {read=GetTabAutofitMaxSize, write=SetTabAutofitMaxSize, default=200}; __property Graphics::TColor TabBackgroundColor = {read=GetTabBackgroundColor, write=SetTabBackgroundColor, default=536870911}; __property bool TabBackgroundBorders = {read=GetTabBackgroundBorders, write=SetTabBackgroundBorders, default=0}; __property TSpTBXTabCloseButton TabCloseButton = {read=GetTabCloseButton, write=SetTabCloseButton, default=0}; __property int TabCloseButtonImageIndex = {read=GetTabCloseButtonImageIndex, write=SetTabCloseButtonImageIndex, default=-1}; __property bool TabDragReorder = {read=GetTabDragReorder, write=SetTabDragReorder, default=0}; __property int TabMaxSize = {read=GetTabMaxSize, write=SetTabMaxSize, default=-1}; __property TSpTBXTabPosition TabPosition = {read=GetTabPosition, write=SetTabPosition, default=0}; __property bool TabVisible = {read=FTabVisible, write=SetTabVisible, default=1}; __property Sptbxskins::TSpTBXSkinType SkinType = {read=GetSkinType, write=SetSkinType, default=2}; __property TSpTBXTabChangeEvent OnActiveTabChange = {read=FOnActiveTabChange, write=FOnActiveTabChange}; __property TSpTBXTabChangingEvent OnActiveTabChanging = {read=FOnActiveTabChanging, write=FOnActiveTabChanging}; __property TSpTBXTabChangeEvent OnActiveTabReorder = {read=FOnActiveTabReorder, write=FOnActiveTabReorder}; __property TSpTBXTabChangingEvent OnActiveTabReordering = {read=FOnActiveTabReordering, write=FOnActiveTabReordering}; __property Sptbxitem::TSpTBXDrawEvent OnDrawBackground = {read=FOnDrawBackground, write=FOnDrawBackground}; public: __fastcall virtual TSpTBXCustomTabSet(Classes::TComponent* AOwner); __fastcall virtual ~TSpTBXCustomTabSet(void); TSpTBXTabItem* __fastcall Add(System::WideString ACaption); HIDESBASE TSpTBXTabItem* __fastcall Insert(int NewIndex, System::WideString ACaption); bool __fastcall DrawBackground(HDC DC, const Types::TRect &ARect); int __fastcall GetTabSetHeight(void); virtual void __fastcall InvalidateBackground(bool InvalidateChildren = true); void __fastcall MakeVisible(TSpTBXTabItem* ATab); void __fastcall ScrollLeft(void); void __fastcall ScrollRight(void); void __fastcall ScrollState(/* out */ bool &Left, /* out */ bool &Right); virtual void __fastcall TabClick(TSpTBXTabItem* ATab); __property Canvas; __property TSpTBXTabToolbar* Toolbar = {read=GetTabToolbar}; public: /* TWinControl.CreateParented */ inline __fastcall TSpTBXCustomTabSet(HWND ParentWindow) : Sptbxitem::TSpTBXCompoundItemsControl(ParentWindow) { } }; class DELPHICLASS TSpTBXTabSet; class PASCALIMPLEMENTATION TSpTBXTabSet : public TSpTBXCustomTabSet { typedef TSpTBXCustomTabSet inherited; __published: __property Align = {default=0}; __property Anchors = {default=3}; __property BiDiMode; __property Color = {default=-16777201}; __property Constraints; __property DockSite = {default=0}; __property DragCursor = {default=-12}; __property DragKind = {default=0}; __property DragMode = {default=0}; __property Enabled = {default=1}; __property Font; __property ParentColor = {default=0}; __property ParentBiDiMode = {default=1}; __property ParentFont = {default=1}; __property ParentShowHint = {default=1}; __property PopupMenu; __property ShowHint; __property Visible = {default=1}; __property OnCanResize; __property OnContextPopup; __property OnDockDrop; __property OnDockOver; __property OnDragDrop; __property OnDragOver; __property OnEndDock; __property OnEndDrag; __property OnEnter; __property OnExit; __property OnGetSiteInfo; __property OnMouseDown; __property OnMouseMove; __property OnMouseUp; __property OnResize; __property OnStartDock; __property OnStartDrag; __property OnUnDock; __property ActiveTabIndex; __property Images; __property TabAutofit = {default=0}; __property TabAutofitMaxSize = {default=200}; __property TabBackgroundColor = {default=536870911}; __property TabBackgroundBorders = {default=0}; __property TabCloseButton = {default=0}; __property TabCloseButtonImageIndex = {default=-1}; __property TabDragReorder = {default=0}; __property TabMaxSize = {default=-1}; __property TabPosition = {default=0}; __property TabVisible = {default=1}; __property SkinType = {default=2}; __property OnActiveTabChange; __property OnActiveTabChanging; __property OnActiveTabReorder; __property OnActiveTabReordering; __property OnDrawBackground; public: /* TSpTBXCustomTabSet.Create */ inline __fastcall virtual TSpTBXTabSet(Classes::TComponent* AOwner) : TSpTBXCustomTabSet(AOwner) { } /* TSpTBXCustomTabSet.Destroy */ inline __fastcall virtual ~TSpTBXTabSet(void) { } public: /* TWinControl.CreateParented */ inline __fastcall TSpTBXTabSet(HWND ParentWindow) : TSpTBXCustomTabSet(ParentWindow) { } }; class PASCALIMPLEMENTATION TSpTBXCustomTabControl : public TSpTBXCustomTabSet { typedef TSpTBXCustomTabSet inherited; private: TSpTBXTabSheet* FEmptyTabSheet; void __fastcall RealignTabSheets(void); TSpTBXTabSheet* __fastcall GetActivePage(void); TSpTBXTabSheet* __fastcall GetPages(int Index); int __fastcall GetPagesCount(void); void __fastcall SetActivePage(const TSpTBXTabSheet* Value); HIDESBASE MESSAGE void __fastcall CMSpTBXControlsInvalidate(Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall WMSpSkinChange(Messages::TMessage &Message); protected: Classes::TList* FPages; virtual void __fastcall DoActiveTabChange(const int ItemIndex); virtual bool __fastcall GetFullRepaint(void); virtual void __fastcall TabInserted(TSpTBXTabItem* Item); virtual void __fastcall TabDeleting(TSpTBXTabItem* Item, bool FreeTabSheet = true); public: __fastcall virtual TSpTBXCustomTabControl(Classes::TComponent* AOwner); __fastcall virtual ~TSpTBXCustomTabControl(void); TSpTBXTabSheet* __fastcall GetPage(TSpTBXTabItem* Item); __property TSpTBXTabSheet* ActivePage = {read=GetActivePage, write=SetActivePage}; __property TSpTBXTabSheet* Pages[int Index] = {read=GetPages}; __property int PagesCount = {read=GetPagesCount, nodefault}; public: /* TWinControl.CreateParented */ inline __fastcall TSpTBXCustomTabControl(HWND ParentWindow) : TSpTBXCustomTabSet(ParentWindow) { } }; class DELPHICLASS TSpTBXTabControl; class PASCALIMPLEMENTATION TSpTBXTabControl : public TSpTBXCustomTabControl { typedef TSpTBXCustomTabControl inherited; __published: __property Align = {default=0}; __property Anchors = {default=3}; __property BiDiMode; __property Color = {default=-16777201}; __property Constraints; __property DockSite = {default=0}; __property DragCursor = {default=-12}; __property DragKind = {default=0}; __property DragMode = {default=0}; __property Enabled = {default=1}; __property Font; __property ParentColor = {default=0}; __property ParentBiDiMode = {default=1}; __property ParentFont = {default=1}; __property ParentShowHint = {default=1}; __property PopupMenu; __property ShowHint; __property Visible = {default=1}; __property OnCanResize; __property OnContextPopup; __property OnDockDrop; __property OnDockOver; __property OnDragDrop; __property OnDragOver; __property OnEndDock; __property OnEndDrag; __property OnEnter; __property OnExit; __property OnGetSiteInfo; __property OnMouseDown; __property OnMouseMove; __property OnMouseUp; __property OnResize; __property OnStartDock; __property OnStartDrag; __property OnUnDock; __property ActiveTabIndex; __property Images; __property TabAutofit = {default=0}; __property TabAutofitMaxSize = {default=200}; __property TabBackgroundColor = {default=536870911}; __property TabBackgroundBorders = {default=0}; __property TabCloseButton = {default=0}; __property TabCloseButtonImageIndex = {default=-1}; __property TabDragReorder = {default=0}; __property TabMaxSize = {default=-1}; __property TabPosition = {default=0}; __property TabVisible = {default=1}; __property SkinType = {default=2}; __property OnActiveTabChange; __property OnActiveTabChanging; __property OnActiveTabReorder; __property OnActiveTabReordering; __property OnDrawBackground; public: /* TSpTBXCustomTabControl.Create */ inline __fastcall virtual TSpTBXTabControl(Classes::TComponent* AOwner) : TSpTBXCustomTabControl(AOwner) { } /* TSpTBXCustomTabControl.Destroy */ inline __fastcall virtual ~TSpTBXTabControl(void) { } public: /* TWinControl.CreateParented */ inline __fastcall TSpTBXTabControl(HWND ParentWindow) : TSpTBXCustomTabControl(ParentWindow) { } }; //-- var, const, procedure --------------------------------------------------- static const Word C_SpTBXTabGroupIndex = 0x1e61; static const Word WM_INVALIDATETABBACKGROUND = 0x2261; extern PACKAGE Tb2item::TTBItemViewer* __fastcall SpGetNextTabItemViewer(Tb2item::TTBView* View, Tb2item::TTBItemViewer* IV, bool GoForward, Sptbxitem::TSpTBXSearchItemViewerType SearchType); extern PACKAGE void __fastcall SpDrawXPTab(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool Enabled, bool Checked, bool HotTrack, bool Focused, TSpTBXTabPosition Position, Sptbxskins::TSpTBXSkinType SkinType, TSpTBXTabEdge Edge = (TSpTBXTabEdge)(0x0)); extern PACKAGE void __fastcall SpDrawXPTabControlBackground(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, Graphics::TColor AColor, bool BottomTabs, Sptbxskins::TSpTBXSkinType SkinType); } /* namespace Sptbxtabs */ using namespace Sptbxtabs; #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // SptbxtabsHPP