⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aqdockingui.hpp

📁 AutomatedDocking Library 控件源代码修改 适合Delphi 2009 和C++ Builder 20009 使用。 修正汉字不能正确显示问题
💻 HPP
📖 第 1 页 / 共 2 页
字号:
	System::UnicodeString __fastcall GetCaption();
	void __fastcall UpdateCaption(const System::UnicodeString Value);
	void __fastcall SetCaptionFont(const Graphics::TFont* Value);
	void __fastcall SetTabFont(const Graphics::TFont* Value);
	void __fastcall SetActiveCaptionFont(const Graphics::TFont* Value);
	void __fastcall SetActiveTabFont(const Graphics::TFont* Value);
	void __fastcall FontChange(System::TObject* Sender);
	void __fastcall SetCaptionButtonSize(const int Value);
	void __fastcall SetCaptionButtonWidthRatio(const double Value);
	void __fastcall SetSplitterHeight(const int Value);
	void __fastcall SetSplitterWidth(const int Value);
	void __fastcall SetTabIndent(const int Value);
	void __fastcall SetUniformTabWidth(const bool Value);
	void __fastcall SetMetric(TaqDockingUIMetric AMetric, const int Value);
	void __fastcall SetShowAccelChar(const Aquihelpers::TaqShowAccelChar Value);
	void __fastcall SetStyleManager(const TaqStyleManager* Value);
	void __fastcall SetActiveHiddenTabFont(const Graphics::TFont* Value);
	void __fastcall SetHiddenTabFont(const Graphics::TFont* Value);
	
protected:
	TaqMetrics FMetrics;
	bool FHotTrack;
	TaqTabItemState FLastTabState;
	Aquihelpers::TaqOrientation FLastTabOrient;
	Types::TRect FLastTabTextRect;
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	virtual void __fastcall ReadState(Classes::TReader* Reader);
	virtual void __fastcall CheckMetric(TaqDockingUIMetric AMetric, int Value);
	virtual int __fastcall GetMetric(TaqDockingUIMetric AMetric);
	virtual void __fastcall Change(void);
	virtual TaqCaptionButtonPostions __fastcall GetCaptionButtonsPosition(void);
	virtual void __fastcall DoDrawCaptionContent(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqDockCaptionState AState, int AMaxTextWidth, bool &AFitText, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	virtual void __fastcall DoDrawCaptionButtonWidget(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockButtonState AState, TaqDockCaptionState ACaptionState, TaqDockButtonKind AKind) = 0 ;
	virtual void __fastcall DoDrawTabItemContent(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqTabItemState AState, Aquihelpers::TaqOrientation AOrientation, bool ADrawImage, bool ADrawText, Graphics::TFont* AFont, Graphics::TFont* AActiveFont, Imglist::TCustomImageList* AImages, int AImageIndex, bool APadding);
	virtual void __fastcall DoDrawTabPaneContent(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, Aquihelpers::TaqOrientation AOrientation) = 0 ;
	virtual void __fastcall DoDrawTabButtonWidget(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockButtonState AState, TaqTabButtonKind AKind) = 0 ;
	virtual int __fastcall DoGetCaptionHeight(TaqDockCaptionState AState, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	virtual int __fastcall DoGetTabPaneHeight(TaqTabOrientation AOrientation, bool ADrawImage, Imglist::TCustomImageList* AImages);
	virtual int __fastcall DoGetTabHeight(TaqTabItemState AState, TaqTabOrientation AOrientation, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	virtual int __fastcall DoGetTabWidth(const System::UnicodeString AText, TaqTabItemState AState, TaqTabItemPosition APosition, TaqTabOrientation AOrientation, int AButtonAreaWidth, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	virtual Types::TRect __fastcall DoGetTabButtonsBounds(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const Types::TPoint &ButtonSize);
	virtual void __fastcall DoDrawTabButton(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockButtonState AState, TaqTabButtonKind AKind) = 0 ;
	virtual void __fastcall DoDrawTabPane(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqTabOrientation AOrientation) = 0 ;
	virtual void __fastcall DoDrawTabItem(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqTabItemState AState, TaqTabItemPosition APosistion, Aquihelpers::TaqOrientation AOrientation, int AButtonAreaWidthBefore, int AButtonAreaWidthAfter, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex) = 0 ;
	virtual void __fastcall DoDrawTabTarget(Graphics::TCanvas* ACanvas, const Types::TRect &ARect) = 0 ;
	virtual void __fastcall DoDrawCaptionButton(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockButtonState AState, TaqDockCaptionState ACaptionState, TaqDockButtonKind AKind) = 0 ;
	virtual void __fastcall DoDrawCaption(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqDockCaptionState AState, int AMaxTextWidth, bool &AFitCaption, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex) = 0 ;
	virtual void __fastcall DoDrawSplitter(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqSplitterOrientation AOrientation) = 0 ;
	virtual void __fastcall DoDrawControl(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockControlDrawKind AKind) = 0 ;
	virtual int __fastcall DoGetHideZoneHeight(TaqHideZoneOrientation AOrientation, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages);
	virtual int __fastcall DoGetHiddenTabHeight(TaqTabItemState AState, TaqHideZoneOrientation AOrientation, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages, int AImageIndex);
	virtual int __fastcall DoGetHiddenTabWidth(const System::UnicodeString AText, TaqTabItemState AState, TaqHideZoneOrientation AOrientation, TaqTabItemPosition APosition, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages, int AImageIndex);
	virtual void __fastcall DoDrawHideZone(Graphics::TCanvas* ACanvas, const Types::TRect &ASiteRect, const Types::TRect &ARect, TaqHideZoneOrientation AOrientation) = 0 ;
	virtual void __fastcall DoDrawHiddenTabItem(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqTabItemState AState, TaqHideZoneOrientation AOrientation, TaqTabItemPosition APosition, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages, int AImageIndex) = 0 ;
	__property int UpdateCount = {read=FUpdateCount, nodefault};
	__property TaqStyleGetCaptionHeightEvent OnGetCaptionHeight = {read=FOnGetCaptionHeight, write=FOnGetCaptionHeight};
	__property TaqStyleGetTabPaneHeightEvent OnGetTabPaneHeight = {read=FOnGetTabPaneHeight, write=FOnGetTabPaneHeight};
	__property TaqStyleGetTabHeightEvent OnGetTabHeight = {read=FOnGetTabHeight, write=FOnGetTabHeight};
	__property TaqStyleGetTabWidthEvent OnGetTabWidth = {read=FOnGetTabWidth, write=FOnGetTabWidth};
	__property TaqStyleDrawTabButtonEvent OnDrawTabButton = {read=FOnDrawTabButton, write=FOnDrawTabButton};
	__property TaqStyleDrawTabPaneEvent OnDrawTabPane = {read=FOnDrawTabPane, write=FOnDrawTabPane};
	__property TaqStyleDrawTabItemEvent OnDrawTabItem = {read=FOnDrawTabItem, write=FOnDrawTabItem};
	__property TaqStyleDrawTabTargetEvent OnDrawTabTarget = {read=FOnDrawTabTarget, write=FOnDrawTabTarget};
	__property TaqStyleDrawCaptionButtonEvent OnDrawCaptionButton = {read=FOnDrawCaptionButton, write=FOnDrawCaptionButton};
	__property TaqStyleDrawCaptionEvent OnDrawCaption = {read=FOnDrawCaption, write=FOnDrawCaption};
	__property TaqStyleDrawControl OnDrawControl = {read=FOnDrawControl, write=FOnDrawControl};
	__property TaqStyleDrawSplitterEvent OnDrawSplitter = {read=FOnDrawSplitter, write=FOnDrawSplitter};
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	
public:
	__fastcall virtual TaqDockingUIStyle(Classes::TComponent* AOwner);
	__fastcall virtual TaqDockingUIStyle(Classes::TComponent* AOwner, bool APredefined);
	__fastcall virtual ~TaqDockingUIStyle(void);
	void __fastcall BeginUpdate(void);
	void __fastcall EndUpdate(void);
	void __fastcall SetMetrics(int const *AMetrics);
	void __fastcall RegisterChanges(TaqStyleChangeLink* ALink);
	void __fastcall UnRegisterChanges(TaqStyleChangeLink* ALink);
	int __fastcall GetCaptionHeight(TaqDockCaptionState AState, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	int __fastcall GetTabPaneHeight(TaqTabOrientation AOrientation, bool ADrawImage, Imglist::TCustomImageList* AImages);
	int __fastcall GetTabHeight(TaqTabItemState AState, TaqTabOrientation AOrientation, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	int __fastcall GetTabWidth(const System::UnicodeString AText, TaqTabItemState AState, TaqTabItemPosition APosition, TaqTabOrientation AOrientation, int AButtonAreaWidth, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	Types::TRect __fastcall GetTabButtonsBounds(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const Types::TPoint &ButtonSize);
	void __fastcall DrawTabButton(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockButtonState AState, TaqTabButtonKind AKind);
	void __fastcall DrawTabPane(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqTabOrientation AOrientation);
	void __fastcall DrawTabItem(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqTabItemState AState, TaqTabItemPosition APosition, Aquihelpers::TaqOrientation AOrientation, int AButtonAreaWidthBefore, int AButtonAreaWidthAfter, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	void __fastcall DrawTabTarget(Graphics::TCanvas* ACanvas, const Types::TRect &ARect);
	void __fastcall DrawCaptionButton(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockButtonState AState, TaqDockCaptionState ACaptionState, TaqDockButtonKind AKind);
	void __fastcall DrawCaption(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqDockCaptionState AState, int AMaxTextWidth, bool &AFitText, bool ADrawImage, Imglist::TCustomImageList* AImages, int AImageIndex);
	void __fastcall DrawSplitter(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqSplitterOrientation AOrientation);
	void __fastcall DrawControl(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, TaqDockControlDrawKind AKind);
	int __fastcall GetHideZoneHeight(TaqHideZoneOrientation AOrientation, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages);
	int __fastcall GetHiddenTabHeight(TaqTabItemState AState, TaqHideZoneOrientation AOrientation, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages, int AImageIndex);
	int __fastcall GetHiddenTabWidth(const System::UnicodeString AText, TaqTabItemState AState, TaqHideZoneOrientation AOrientation, TaqTabItemPosition APosition, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages, int AImageIndex);
	void __fastcall DrawHideZone(Graphics::TCanvas* ACanvas, const Types::TRect &ASiteRect, const Types::TRect &ARect, TaqHideZoneOrientation AOrientation);
	void __fastcall DrawHiddenTabItem(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, const System::UnicodeString AText, TaqTabItemState AState, TaqHideZoneOrientation AOrientation, TaqTabItemPosition APosition, bool ADrawImage, bool ADrawText, Imglist::TCustomImageList* AImages, int AImageIndex);
	DYNAMIC Classes::TComponent* __fastcall GetParentComponent(void);
	DYNAMIC bool __fastcall HasParent(void);
	DYNAMIC void __fastcall SetParentComponent(Classes::TComponent* AParent);
	DYNAMIC System::UnicodeString __fastcall GetNamePath();
	Types::TPoint __fastcall GetCaptionButtonSize();
	__property Graphics::TFont* ActiveHiddenTabFont = {read=FActiveHiddenTabFont, write=SetActiveHiddenTabFont};
	__property Graphics::TFont* ActiveCaptionFont = {read=FActiveCaptionFont, write=SetActiveCaptionFont};
	__property Graphics::TFont* ActiveTabFont = {read=FActiveTabFont, write=SetActiveTabFont};
	__property Graphics::TFont* HiddenTabFont = {read=FHiddenTabFont, write=SetHiddenTabFont};
	__property System::UnicodeString Caption = {read=GetCaption, write=SetCaption};
	__property int CaptionButtonSize = {read=FCaptionButtonSize, write=SetCaptionButtonSize, nodefault};
	__property double CaptionButtonWidthRatio = {read=FCaptionButtonWidthRatio, write=SetCaptionButtonWidthRatio};
	__property TaqCaptionButtonPostions CaptionButtonPositions = {read=GetCaptionButtonsPosition, nodefault};
	__property Graphics::TFont* CaptionFont = {read=FCaptionFont, write=SetCaptionFont};
	__property int Index = {read=GetIndex, nodefault};
	__property int Metrics[TaqDockingUIMetric AMetric] = {read=GetMetric, write=SetMetric/*, default*/};
	__property bool Predefined = {read=FPredefined, nodefault};
	__property Aquihelpers::TaqShowAccelChar ShowAccelChar = {read=FShowAccelChar, write=SetShowAccelChar, nodefault};
	__property int SplitterHeight = {read=FSplitterHeight, write=SetSplitterHeight, nodefault};
	__property int SplitterWidth = {read=FSplitterWidth, write=SetSplitterWidth, nodefault};
	__property TaqStyleManager* StyleManager = {read=FStyleManager, write=SetStyleManager};
	__property Graphics::TFont* TabFont = {read=FTabFont, write=SetTabFont};
	__property int TabIndent = {read=FTabIndent, write=SetTabIndent, nodefault};
	__property bool UniformTabWidth = {read=FUniformTabWidth, write=SetUniformTabWidth, default=1};
};


class DELPHICLASS TaqStyles;
class PASCALIMPLEMENTATION TaqStyles : public Classes::TPersistent
{
	typedef Classes::TPersistent inherited;
	
public:
	TaqDockingUIStyle* operator[](int Index) { return Items[Index]; }
	
private:
	TaqStyleChangeLink* FChangeLink;
	TaqStyleManager* FOwner;
	Classes::TStringList* FStyles;
	TaqDockingUIStyle* __fastcall GetItem(int Index);
	void __fastcall InternalAdd(TaqDockingUIStyle* AStyle);
	void __fastcall InternalRemove(TaqDockingUIStyle* AStyle);
	TaqDockingUIStyle* __fastcall GetStyleByName(const System::UnicodeString AStyleName);
	void __fastcall StyleChange(System::TObject* Sender);
	int __fastcall GetCount(void);
	System::UnicodeString __fastcall GetName(int Index);
	
protected:
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	System::UnicodeString __fastcall NewStyleName(TaqDockingUIStyle* AStyle);
	
public:
	__fastcall TaqStyles(TaqStyleManager* AOwner);
	__fastcall virtual ~TaqStyles(void);
	void __fastcall Clear(void);
	TaqDockingUIStyle* __fastcall Add(TaqDockingUIStyleClass StyleClass);
	int __fastcall Clone(int AIndex)/* overload */;
	TaqDockingUIStyle* __fastcall Clone(TaqDockingUIStyle* AStyle)/* overload */;
	int __fastcall Find(TaqDockingUIStyle* AStyle)/* overload */;
	int __fastcall Find(const System::UnicodeString AStyleName)/* overload */;
	__property int Count = {read=GetCount, nodefault};
	__property TaqDockingUIStyle* Items[int Index] = {read=GetItem/*, default*/};
	__property System::UnicodeString Names[int Index] = {read=GetName};
	__property TaqDockingUIStyle* StyleByName[const System::UnicodeString AStyleName] = {read=GetStyleByName};
};


class PASCALIMPLEMENTATION TaqStyleManager : public Classes::TComponent
{
	typedef Classes::TComponent inherited;
	
private:
	TaqStyleNotifyEvent FOnChange;
	TaqStyleNotifyEvent FOnRegister;
	TaqStyleNotifyEvent FOnUnRegister;
	Classes::TList* FLinks;
	TaqStyles* FItems;
	void __fastcall SetItems(TaqStyles* Value);
	
protected:
	void __fastcall DoChangeStyle(TaqDockingUIStyle* Sender);
	void __fastcall DoRegisterStyle(TaqDockingUIStyle* Sender);
	void __fastcall DoUnregisterStyle(TaqDockingUIStyle* Sender);
	DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* Root);
	DYNAMIC Classes::TComponent* __fastcall GetChildOwner(void);
	virtual void __fastcall ValidateRename(Classes::TComponent* AComponent, const System::UnicodeString CurName, const System::UnicodeString NewName);
	
public:
	__fastcall virtual TaqStyleManager(Classes::TComponent* AOwner);
	__fastcall virtual ~TaqStyleManager(void);
	void __fastcall RegisterChanges(TaqStylesChangeLink* ALink);
	void __fastcall UnRegisterChanges(TaqStylesChangeLink* ALink);
	void __fastcall Reset(void);
	
__published:
	__property TaqStyles* Items = {read=FItems, write=SetItems};
	__property TaqStyleNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property TaqStyleNotifyEvent OnRegister = {read=FOnRegister, write=FOnRegister};
	__property TaqStyleNotifyEvent OnUnRegister = {read=FOnUnRegister, write=FOnUnRegister};
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE StaticArray<Aquihelpers::TaqOrientation, 5> HOrientations;
extern PACKAGE StaticArray<Aquihelpers::TaqOrientation, 2> Orientations;
extern PACKAGE Aqdockingutils::TaqClassList* __fastcall aqDockingUIStyles(void);

}	/* namespace Aqdockingui */
using namespace Aqdockingui;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// AqdockinguiHPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -