aqdockingbase.hpp

来自「AutomatedDocking Library 控件源代码修改 适合Delp」· HPP 代码 · 共 1,362 行 · 第 1/5 页

HPP
1,362
字号
	__property GUID DockingKey = {read=FDockingKey, write=SetDockingKey};
	__property TaqCustomDockingManager* DockingManager = {read=GetDockingManager, write=SetDockingManager};
	__property TaqDockingControlState DockState = {read=GetDockState, nodefault};
	__property Font;
	__property int Height = {read=GetHeight, write=SetHeight, nodefault};
	__property Imglist::TImageIndex ImageIndex = {read=FImageIndex, write=SetImageIndex, nodefault};
	__property int Index = {read=GetIndex, nodefault};
	__property Types::TPoint MinConstraints = {read=GetMinConstraints};
	__property int MinHeight = {read=FMinHeight, write=SetMinHeight, nodefault};
	__property int MinWidth = {read=FMinWidth, write=SetMinWidth, nodefault};
	__property TaqDockingPanelState PanelState = {read=FPanelState, write=SetPanelState, nodefault};
	__property ParentColor = {default=1};
	__property ParentFont = {default=1};
	__property TaqCustomDockingControl* ParentItem = {read=FParentItem, write=SetParentItem};
	__property int PreferredHeight = {read=GetPreferredHeight, write=SetPreferredHeight, default=200};
	__property int PreferredWidth = {read=GetPreferredWidth, write=SetPreferredWidth, default=450};
	__property int ScreenBottom = {read=GetScreenRectCoord, write=SetScreenRectCoord, index=3, nodefault};
	__property int ScreenLeft = {read=GetScreenRectCoord, write=SetScreenRectCoord, index=0, nodefault};
	__property Types::TRect ScreenRect = {read=FScreenRect, write=SetScreenRect};
	__property int ScreenRight = {read=GetScreenRectCoord, write=SetScreenRectCoord, index=2, nodefault};
	__property int ScreenTop = {read=GetScreenRectCoord, write=SetScreenRectCoord, index=1, nodefault};
	__property TaqBooleanValue ShowCaption = {read=GetShowCaption, write=SetShowCaption, nodefault};
	__property TaqBooleanValue ShowImage = {read=FShowImage, write=SetShowImage, nodefault};
	__property int TreeIndex = {read=FTreeIndex, nodefault};
	__property bool Visible = {read=FVisible, write=SetVisible, nodefault};
	__property int Width = {read=GetWidth, write=SetWidth, nodefault};
	__property TaqAutoHideCalcEvent OnAutoHideCalc = {read=FOnAutoHideCalc, write=FOnAutoHideCalc};
	__property Classes::TNotifyEvent OnAutoHideChanged = {read=FOnAutoHideChanged, write=FOnAutoHideChanged};
	__property TaqAutoHideChangingEvent OnAutoHideChanging = {read=FOnAutoHideChanging, write=FOnAutoHideChanging};
	__property TaqCaptionPopupEvent OnCaptionPopup = {read=FOnCaptionPopup, write=FOnCaptionPopup};
	__property TaqCloseQueryEvent OnCloseQuery = {read=FOnCloseQuery, write=FOnCloseQuery};
	__property TaqChangeEvent OnChange = {read=FOnChange, write=FOnChange};
	__property TaqChildNotifyEvent OnChildDock = {read=FOnChildDock, write=FOnChildDock};
	__property TaqChildNotifyEvent OnChildUndock = {read=FOnChildUndock, write=FOnChildUndock};
	__property TaqCustomButtonClickEvent OnCustomButtonClick = {read=FOnCustomButtonClick, write=FOnCustomButtonClick};
	__property TaqDockDropEvent OnDockDrop = {read=FOnDockDrop, write=FOnDockDrop};
	__property TaqDockOverEvent OnDockOver = {read=FOnDockOver, write=FOnDockOver};
	__property TaqDragDockEvent OnDragDock = {read=FOnDragDock, write=FOnDragDock};
	__property TaqEndDockEvent OnEndDock = {read=FOnEndDock, write=FOnEndDock};
	__property Classes::TNotifyEvent OnHide = {read=FOnHide, write=FOnHide};
	__property TaqHideControlEvent OnHideEx = {read=FOnHideEx, write=FOnHideEx};
	__property TaqNeedHintTextEvent OnNeedHintText = {read=FOnNeedHintText, write=FOnNeedHintText};
	__property TaqPopupMenuCreateEvent OnPopupMenuCreate = {read=FOnPopupMenuCreate, write=FOnPopupMenuCreate};
	__property Classes::TNotifyEvent OnShow = {read=FOnShow, write=FOnShow};
	__property TaqStartDockEvent OnStartDock = {read=FOnStartDock, write=FOnStartDock};
	__property Classes::TNotifyEvent OnUpdateActions = {read=FOnUpdateActions, write=FOnUpdateActions};
public:
	/* TWinControl.CreateParented */ inline __fastcall TaqCustomDockingControl(HWND ParentWindow) : Aqdockingutils::TaqCustomControl(ParentWindow) { }
	
};


class DELPHICLASS TaqCustomDockingContainer;
class PASCALIMPLEMENTATION TaqCustomDockingContainer : public TaqCustomDockingControl
{
	typedef TaqCustomDockingControl inherited;
	
private:
	System::UnicodeString FDefaultCaption;
	TaqCustomDockingControl* FLastFocusedChild;
	bool FZombie;
	TaqBooleanValue FCtrlTabControlSwitch;
	void __fastcall SetLastFocusedChild(TaqCustomDockingControl* AChild);
	
protected:
	System::UnicodeString __fastcall GetDefaultCaption();
	DYNAMIC int __fastcall AddChild(TaqCustomDockingControl* AChild);
	DYNAMIC void __fastcall DeleteChild(TaqCustomDockingControl* AChild);
	virtual void __fastcall ValidateAlignment(TaqCustomDockingControl* Child, TaqDockingAlignment &AAlignment);
	DYNAMIC void __fastcall CheckAlignment(TaqDockingAlignment AAlign);
	virtual Types::TRect __fastcall CalcBoundsRect();
	virtual void __fastcall UpdateScreenBounds(void);
	virtual void __fastcall UpdateChildInfo(void);
	virtual System::UnicodeString __fastcall GetCaption();
	virtual void __fastcall DoUpdateDockActions(void);
	virtual void __fastcall DoChildChanged(TaqCustomDockingControl* Child, TaqDockingControlChange Change);
	virtual bool __fastcall InternalRemoveFromDocking(bool Explicitly = false);
	virtual void __fastcall ChangeFocusedControl(bool IsForward, TaqCustomDockingControl* Sender);
	virtual Aqdockingui::TaqHideZoneOrientation __fastcall CalcAutoHideOrientation(TaqCustomDockingControl* AControl);
	virtual void __fastcall DoCloseQuery(bool &CanClose, bool Explicit = false);
	virtual void __fastcall DoHideEx(void);
	__property TaqCustomDockingControl* LastFocusedChild = {read=FLastFocusedChild, write=SetLastFocusedChild};
	
public:
	__fastcall virtual TaqCustomDockingContainer(Classes::TComponent* AOwner);
	__fastcall virtual ~TaqCustomDockingContainer(void);
	virtual void __fastcall Release(void);
	virtual void __fastcall UpdateControl(void);
	virtual int __fastcall InsertChild(TaqCustomDockingControl* TargetChild, TaqChildInsertOrder Direction, TaqCustomDockingControl* NewChild);
	virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
	virtual void __fastcall SetFocus(void);
	__property TaqBooleanValue CtrlTabControlSwitch = {read=FCtrlTabControlSwitch, write=FCtrlTabControlSwitch, nodefault};
public:
	/* TWinControl.CreateParented */ inline __fastcall TaqCustomDockingContainer(HWND ParentWindow) : TaqCustomDockingControl(ParentWindow) { }
	
};


class DELPHICLASS TaqOwnedObject;
class PASCALIMPLEMENTATION TaqOwnedObject : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	TaqCustomDockingManager* FDockingManager;
	
public:
	__fastcall virtual TaqOwnedObject(TaqCustomDockingManager* ADockingManager);
	__fastcall virtual ~TaqOwnedObject(void);
	__property TaqCustomDockingManager* DockingManager = {read=FDockingManager};
};


class DELPHICLASS TaqCustomSizer;
class PASCALIMPLEMENTATION TaqCustomSizer : public TaqOwnedObject
{
	typedef TaqOwnedObject inherited;
	
protected:
	virtual void __fastcall ResizeChildren(TaqCustomDockingContainer* AContainer) = 0 ;
public:
	/* TaqOwnedObject.Create */ inline __fastcall virtual TaqCustomSizer(TaqCustomDockingManager* ADockingManager) : TaqOwnedObject(ADockingManager) { }
	/* TaqOwnedObject.Destroy */ inline __fastcall virtual ~TaqCustomSizer(void) { }
	
};


struct TaqDockingFrameInfo
{
	
public:
	Types::TRect Box;
	unsigned Region;
	System::UnicodeString Info;
};


class DELPHICLASS TaqCustomMover;
class PASCALIMPLEMENTATION TaqCustomMover : public TaqOwnedObject
{
	typedef TaqOwnedObject inherited;
	
private:
	TaqCustomDockingControl* FDragItem;
	bool FDragging;
	void __fastcall SetDragItem(const TaqCustomDockingControl* Value);
	
public:
	virtual void __fastcall CalcDragInfo(const Types::TPoint &Coord, bool DockingDisabled, TaqDockingFrameInfo &Info, bool &CanDock, bool &CanFloat) = 0 ;
	virtual void __fastcall StartDragging(void);
	virtual void __fastcall EndDragging(const Types::TPoint &Coord, const Types::TRect &Bounds);
	virtual void __fastcall CancelDragging(const Types::TPoint &Coord);
	__property bool Dragging = {read=FDragging, nodefault};
	__property TaqCustomDockingControl* DragItem = {read=FDragItem, write=SetDragItem};
public:
	/* TaqOwnedObject.Create */ inline __fastcall virtual TaqCustomMover(TaqCustomDockingManager* ADockingManager) : TaqOwnedObject(ADockingManager) { }
	/* TaqOwnedObject.Destroy */ inline __fastcall virtual ~TaqCustomMover(void) { }
	
};


class DELPHICLASS TaqCustomDocker;
class PASCALIMPLEMENTATION TaqCustomDocker : public TaqOwnedObject
{
	typedef TaqOwnedObject inherited;
	
private:
	TaqCustomDockingControl* FManagedTreeItem;
	
public:
	virtual void __fastcall DockItem(const Types::TPoint &P, TaqCustomDockingControl* Item) = 0 ;
	__property TaqCustomDockingControl* ManagedItem = {read=FManagedTreeItem, write=FManagedTreeItem};
public:
	/* TaqOwnedObject.Create */ inline __fastcall virtual TaqCustomDocker(TaqCustomDockingManager* ADockingManager) : TaqOwnedObject(ADockingManager) { }
	/* TaqOwnedObject.Destroy */ inline __fastcall virtual ~TaqCustomDocker(void) { }
	
};


#pragma option push -b-
enum Aqdockingbase__92 { dssDeleting, dssLoading, dssInitializing };
#pragma option pop

typedef Set<Aqdockingbase__92, dssDeleting, dssInitializing>  TaqDockingSiteState;

typedef void __fastcall (__closure *TaqDockingSiteEvent)(TaqCustomDockingSite* Sender, TaqCustomDockingControl* Control);

typedef void __fastcall (__closure *TaqDockingQueryEvent)(TaqCustomDockingSite* Sender, TaqCustomDockingControl* Control, bool &Allow);

class PASCALIMPLEMENTATION TaqCustomDockingSite : public Aqdockingutils::TaqCustomControl
{
	typedef Aqdockingutils::TaqCustomControl inherited;
	
private:
	TaqCustomDockingManager* FDockingManager;
	int FTreeIndex;
	#pragma pack(push,1)
	GUID FDockingKey;
	#pragma pack(pop)
	bool FDockingKeyLoaded;
	TaqDockingSiteState FDockingState;
	bool FCanUndockMainItem;
	bool FAllowConstraints;
	bool FAllowDock;
	TaqDockingQueryEvent FOnCanUndock;
	TaqDockingQueryEvent FOnCanDock;
	TaqDockingSiteEvent FOnUndock;
	TaqDockingSiteEvent FOnDock;
	unsigned __fastcall GetParentWindowHandle(void);
	void __fastcall ReadKey(Classes::TReader* Reader);
	void __fastcall WriteKey(Classes::TWriter* Writer);
	void __fastcall SetMainTreeItem(TaqCustomDockingControl* AControl);
	bool __fastcall GetDesigning(void);
	
protected:
	Types::TPoint FScreenOrigin;
	virtual void __fastcall UpdateOleDropEnabled(const bool Value);
	virtual void __fastcall HandleOleDropActivity(const Types::TPoint &Pos, TOleDropAction Action, GUID &Key);
	void __fastcall DrawSplitters(void);
	void __fastcall DrawDesigner(Graphics::TCanvas* ACanvas, const Types::TRect &ABounds);
	void __fastcall UpdateDockingTree(bool UpdateGroupControl = true);
	virtual void __fastcall RegisterHiddenControl(TaqCustomDockingControl* AControl, Aqdockingui::TaqHideZoneOrientation AOrientation);
	virtual void __fastcall UnregisterHiddenControl(TaqCustomDockingControl* AControl);
	virtual void __fastcall ShowDockingControl(TaqCustomDockingControl* AControl, bool Showing, bool Immediately = false);
	virtual void __fastcall DoActiveControlChange(void);
	virtual bool __fastcall BeforeDockingRead(void);
	virtual TaqCustomDockingControl* __fastcall GetMainTreeItem(void);
	virtual Types::TRect __fastcall GetScreenClientRect();
	virtual Types::TRect __fastcall GetScreenDockZone();
	virtual void __fastcall UpdateMainTreeItem(TaqCustomDockingControl* AControl);
	virtual void __fastcall HideMainTreeItem(void);
	virtual void __fastcall SetDockingManager(const TaqCustomDockingManager* Value);
	virtual bool __fastcall CanUndockItem(TaqCustomDockingControl* AItem);
	virtual bool __fastcall CanDockItem(TaqCustomDockingControl* AItem);
	virtual bool __fastcall CanAutoHideItem(TaqCustomDockingControl* AItem);
	virtual bool __fastcall CanUndoAutoHideItem(TaqCustomDockingControl* AItem);
	virtual void __fastcall DoControlDock(TaqCustomDockingControl* Sender, int Index, TaqCustomDockingControl* Child);
	virtual void __fastcall DoControlUndock(TaqCustomDockingControl* Sender, int Index, TaqCustomDockingControl* Child);
	virtual void __fastcall DoControlChange(TaqCustomDockingControl* Sender, TaqDockingControlChange Change);
	virtual void __fastcall DoControlResized(TaqCustomDockingControl* Sender);
	virtual void __fastcall CheckCanDock(TaqCustomDockingControl* AControl);
	virtual void __fastcall CheckCanUndock(TaqCustomDockingControl* AControl);
	virtual void __fastcall SaveToStream(TaqCustomDockingWriter* Writer);
	virtual void __fastcall LoadFromStream(TaqCustomDockingReader* Reader);
	__classmethod virtual int __fastcall GetDockingSiteTypeId();
	HIDESBASE MESSAGE void __fastcall CMVisibleChanged(Messages::TMessage &Message);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	virtual void __fastcall ReadState(Classes::TReader* Reader);
	virtual void __fastcall CustomAlignPosition(Controls::TControl* Control, int &NewLeft, int &NewTop, int &NewWidth, int &NewHeight, Types::TRect &AlignRect, const Controls::TAlignInfo &AlignInfo);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall Resize(void);
	virtual void __fastcall Paint(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	virtual void __fastcall PerformSizeConstraintsUpdate(void);
	DYNAMIC bool __fastcall DesignWndProc(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Message);
	__property bool AllowConstraints = {read=FAllowConstraints, write=FAllowConstraints, nodefault};
	__property bool CanUndockMainItem = {read=FCanUndockMainItem, write=FCanUndockMainItem, nodefault};
	__property bool Designing = {read=GetDesigning, nodefault};
	
public:
	__fastcall virtual TaqCustomDockingSite(Classes::TComponent* AOwner);
	__fastcall virtual ~TaqCustomDockingSite(void);
	DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* Root);
	virtual void __fastcall PerformUpdate(void);
	virtual TaqCustomDockingControl* __fastcall GetItemByPos(const Types::TPoint &Pos);
	__property bool AllowDock = {read=FAllowDock, write=FAllowDock, nodefault};
	__property TaqCustomDockingControl* MainItem = {read=GetMainTreeItem, write=SetMainTreeItem};
	__property int TreeIndex = {read=FT

⌨️ 快捷键说明

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