📄 aqdockingbase.hpp
字号:
bool FShowDisabled;
bool FNeedUpdate;
Aqdockingutils::TaqApplicationEvents* FEvents;
int __fastcall RelocateButton(Aqdockingui::TaqDockButtonKind AKind, int APos);
TaqCustomDockingManager* __fastcall GetDockingManager(void);
bool __fastcall IsKindAllowed(Aqdockingui::TaqDockButtonKind Kind);
TaqDockButton* __fastcall GetItem(Aqdockingui::TaqDockButtonKind Kind);
bool __fastcall IsButtonVisible(Aqdockingui::TaqDockButtonKind Kind);
void __fastcall DoAppActiveChanged(System::TObject* Sender);
protected:
virtual void __fastcall SetBounds(const Types::TRect &Value);
virtual Types::TRect __fastcall GetBounds();
virtual void __fastcall SetVisible(const bool Value);
virtual void __fastcall UpdateButtons(void);
virtual void __fastcall InvalidateButtons(void);
__property TaqCustomDockingManager* DockingManager = {read=GetDockingManager};
__property TaqCustomDockingControl* Owner = {read=FOwner};
public:
__fastcall virtual TaqDockCaptionButtons(TaqCustomDockingControl* AOwner);
__fastcall virtual ~TaqDockCaptionButtons(void);
__property bool Visible = {read=FVisible, write=SetVisible, nodefault};
__property Types::TRect Bounds = {read=GetBounds, write=SetBounds};
__property TaqDockButton* Items[Aqdockingui::TaqDockButtonKind Kind] = {read=GetItem/*, default*/};
};
class DELPHICLASS TaqCaptionDockButton;
class DELPHICLASS TaqDockCaptionButtonsEx;
class PASCALIMPLEMENTATION TaqCaptionDockButton : public TaqDockButton
{
typedef TaqDockButton inherited;
private:
bool FVisibleInt;
TaqCustomCaptionButtonPlacement FPlacement;
Aqdockingui::TaqCustomCaptionButtonPosition FPosition;
Aqdockingui::TaqCustomCaptionButtonStyle FStyle;
Graphics::TGraphic* FPicture;
void __fastcall SetPosition(Aqdockingui::TaqCustomCaptionButtonPosition Value);
void __fastcall SetPlacement(TaqCustomCaptionButtonPlacement Value);
void __fastcall SetStyle(Aqdockingui::TaqCustomCaptionButtonStyle Value);
void __fastcall SetButtons(TaqDockCaptionButtonsEx* Value);
HIDESBASE TaqDockCaptionButtonsEx* __fastcall GetButtons(void);
bool __fastcall GetVisible(void);
void __fastcall SetVisibleInt(const bool Value);
HIDESBASE void __fastcall SetVisible(const bool Value);
int __fastcall GetIndex(void);
void __fastcall SetPicture(Graphics::TGraphic* Picture);
protected:
virtual void __fastcall Paint(void);
__property TaqDockCaptionButtonsEx* Buttons = {read=GetButtons, write=SetButtons};
public:
__fastcall virtual TaqCaptionDockButton(Classes::TComponent* AOwner);
__fastcall virtual ~TaqCaptionDockButton(void);
__property Graphics::TGraphic* Picture = {read=FPicture, write=SetPicture};
__property TaqCustomCaptionButtonPlacement Placement = {read=FPlacement, write=SetPlacement, nodefault};
__property Aqdockingui::TaqCustomCaptionButtonPosition Position = {read=FPosition, write=SetPosition, nodefault};
__property Aqdockingui::TaqCustomCaptionButtonStyle Style = {read=FStyle, write=SetStyle, nodefault};
__property bool Visible = {read=GetVisible, write=SetVisibleInt, nodefault};
__property int Index = {read=GetIndex, nodefault};
};
class PASCALIMPLEMENTATION TaqDockCaptionButtonsEx : public TaqDockCaptionButtons
{
typedef TaqDockCaptionButtons inherited;
private:
Types::TRect FBoundsEx;
Contnrs::TComponentList* FCustomButtons;
Controls::TWinControl* FCustomButtonsParent;
Types::TRect FContainerBounds;
int FDefaultButtons;
int __fastcall RelocateCustomButton(int Index, int APos, const Types::TRect &DestRegion);
TaqCaptionDockButton* __fastcall GetButton(int Index);
int __fastcall GetCustomButtonsCount(void);
Aqdockingui::TaqCustomCaptionButtonPosition __fastcall GetCustomButtonPosition(Aqdockingui::TaqCustomCaptionButtonPosition DefPosition);
protected:
virtual Types::TRect __fastcall GetBounds();
virtual void __fastcall SetVisible(const bool Value);
virtual void __fastcall UpdateButtons(void);
virtual void __fastcall InvalidateButtons(void);
void __fastcall Update(void);
bool __fastcall CustomButtonsParentAssigned(void);
void __fastcall SetCustomButtonsParent(Controls::TWinControl* Value);
bool __fastcall IsCustomButtonVisible(int Index);
void __fastcall SetContainerBounds(const Types::TRect &Value);
void __fastcall PrepareDefaultButtons(void);
TaqCaptionDockButton* __fastcall AddDefaultButton(void);
int __fastcall GetButtonIndex(TaqCaptionDockButton* Button);
void __fastcall Hide(void);
Types::TPoint __fastcall GetButtonsBounds(const Types::TPoint &ButtonSize, Aqdockingui::TaqCustomCaptionButtonPosition Position);
__property Controls::TWinControl* CustomButtonsParent = {read=FCustomButtonsParent, write=SetCustomButtonsParent};
__property Types::TRect ContainerBounds = {read=FContainerBounds, write=SetContainerBounds};
public:
__fastcall virtual TaqDockCaptionButtonsEx(TaqCustomDockingControl* AOwner);
__fastcall virtual ~TaqDockCaptionButtonsEx(void);
int __fastcall AddCustomButton(int Index = 0xffffffff);
void __fastcall RemoveCustomButton(int Index);
__property TaqCaptionDockButton* CustomButtons[int Index] = {read=GetButton};
__property int CustomButtonsCount = {read=GetCustomButtonsCount, nodefault};
};
class DELPHICLASS TaqDockMenuItem;
class PASCALIMPLEMENTATION TaqDockMenuItem : public Menus::TMenuItem
{
typedef Menus::TMenuItem inherited;
private:
TaqDockActionLink* FActionLink;
TaqCustomDockAction* __fastcall GetDockAction(void);
void __fastcall SetDockAction(const TaqCustomDockAction* Value);
protected:
void __fastcall DockActionChange(System::TObject* Sender);
public:
__fastcall virtual TaqDockMenuItem(Classes::TComponent* AOnwer);
__fastcall virtual ~TaqDockMenuItem(void);
virtual void __fastcall Click(void);
__property TaqCustomDockAction* Action = {read=GetDockAction, write=SetDockAction};
};
class DELPHICLASS TaqDockMenu;
class PASCALIMPLEMENTATION TaqDockMenu : public Menus::TPopupMenu
{
typedef Menus::TPopupMenu inherited;
private:
TaqCustomDockingControl* FOwner;
public:
__fastcall virtual TaqDockMenu(Classes::TComponent* AOwner);
Menus::TMenuItem* __fastcall AddAction(int ActionId, int Index = 0xffffffff);
Menus::TMenuItem* __fastcall AddSeparator(int GroupId = 0x0, int Index = 0xffffffff);
Menus::TMenuItem* __fastcall FindAction(int ActionId);
public:
/* TPopupMenu.Destroy */ inline __fastcall virtual ~TaqDockMenu(void) { }
};
struct TaqSplitterItemInfo
{
public:
Types::TRect BoundsRect;
Aqdockingui::TaqSplitterOrientation Orientation;
Controls::TCursor Cursor;
TaqCustomDockingControl* FirstControl;
TaqCustomDockingControl* SecondControl;
};
typedef DynamicArray<TaqSplitterItemInfo> TaqSplitterInfo;
class DELPHICLASS TaqCustomPlacementInfo;
class PASCALIMPLEMENTATION TaqCustomPlacementInfo : public System::TObject
{
typedef System::TObject inherited;
private:
TaqCustomDockingControl* FOwner;
Types::TPoint FPosition;
Types::TPoint FSize;
TaqDockingPanelState FState;
Types::TPoint FFloatSize;
Types::TPoint FFloatPos;
Forms::TWindowState FFloatState;
Aqdockingui::TaqHideZoneOrientation FLastHideZone;
protected:
virtual void __fastcall LoadFromStream(TaqCustomDockingReader* Reader);
virtual void __fastcall SaveToStream(TaqCustomDockingWriter* Writer);
virtual void __fastcall AfterDockingRead(void);
__property TaqCustomDockingControl* Owner = {read=FOwner};
__property Types::TPoint Position = {read=FPosition, write=FPosition};
__property Types::TPoint Size = {read=FSize, write=FSize};
__property TaqDockingPanelState State = {read=FState, write=FState, nodefault};
__property Types::TPoint FloatPos = {read=FFloatPos, write=FFloatPos};
__property Types::TPoint FloatSize = {read=FFloatSize, write=FFloatSize};
__property Forms::TWindowState FloatState = {read=FFloatState, write=FFloatState, nodefault};
__property Aqdockingui::TaqHideZoneOrientation LastHideZone = {read=FLastHideZone, write=FLastHideZone, nodefault};
public:
__fastcall virtual TaqCustomPlacementInfo(TaqCustomDockingControl* AOwner);
virtual void __fastcall SavePosition(void);
virtual void __fastcall RestorePosition(void);
virtual bool __fastcall DockToPosition(void);
virtual void __fastcall UndockToPosition(void);
public:
/* TObject.Destroy */ inline __fastcall virtual ~TaqCustomPlacementInfo(void) { }
};
typedef TMetaClass* TaqCustomPlacementInfoClass;
typedef void __fastcall (__closure *TaqCloseQueryEvent)(TaqCustomDockingControl* Sender, bool &CanClose);
typedef void __fastcall (__closure *TaqChildNotifyEvent)(TaqCustomDockingControl* Sender, int Index, TaqCustomDockingControl* Child);
typedef void __fastcall (__closure *TaqCustomButtonClickEvent)(TaqCustomDockingControl* Sender, int ButtonIndex, Controls::TMouseButton MouseButton);
typedef void __fastcall (__closure *TaqHideControlEvent)(TaqCustomDockingControl* Sender, TaqControlHideAction &HideAction);
typedef void __fastcall (__closure *TaqDockOverEvent)(TaqCustomDockingControl* Sender, TaqCustomDockingControl* Source, const Types::TPoint &Coord, TaqDockOverState State, bool &Allow);
typedef void __fastcall (__closure *TaqDockDropEvent)(TaqCustomDockingControl* Sender, TaqCustomDockingControl* Source, const Types::TPoint &Coord);
typedef void __fastcall (__closure *TaqStartDockEvent)(TaqCustomDockingControl* Sender, Types::TRect &FrameRect, Aqdockingui::TaqFrameSize &FrameSize);
typedef void __fastcall (__closure *TaqEndDockEvent)(TaqCustomDockingControl* Sender, TaqCustomDockingControl* Target, const Types::TPoint &Coord, bool Cancelled);
typedef void __fastcall (__closure *TaqDragDockEvent)(TaqCustomDockingControl* Sender, TaqCustomDockingControl* Target, const Types::TPoint &Coord, unsigned FrameRgn, System::UnicodeString &Info, bool &CanDock, bool &CanFloat);
typedef void __fastcall (__closure *TaqPopupMenuCreateEvent)(TaqCustomDockingControl* Sender, TaqDockMenu* AMenu, unsigned Flags);
typedef void __fastcall (__closure *TaqCaptionPopupEvent)(TaqCustomDockingControl* Sender, TaqDockMenu* AMenu, unsigned Flags, Types::TPoint &ACoord, bool &Allow);
typedef void __fastcall (__closure *TaqChangeEvent)(TaqCustomDockingControl* Sender, TaqDockingControlChange Change);
typedef void __fastcall (__closure *TaqAutoHideChangingEvent)(TaqCustomDockingControl* Sender, bool AutoHide, Aqdockingui::TaqHideZoneOrientation Orientation);
typedef void __fastcall (__closure *TaqAutoHideCalcEvent)(TaqCustomDockingControl* Sender, TaqCustomDockingControl* Control, Aqdockingui::TaqHideZoneOrientation &Orientation);
typedef void __fastcall (__closure *TaqNeedHintTextEvent)(TaqCustomDockingControl* Sender, System::UnicodeString &HintText);
class DELPHICLASS TaqCustomDockingSite;
class PASCALIMPLEMENTATION TaqCustomDockingControl : public Aqdockingutils::TaqCustomControl
{
typedef Aqdockingutils::TaqCustomControl inherited;
public:
TaqCustomDockingControl* operator[](int Index) { return Children[Index]; }
private:
TaqCustomDockingManager* FDockingManager;
Classes::TList* FChildren;
int FTreeIndex;
TaqCustomDockingControl* FParentItem;
int FPositionToAdd;
Types::TPoint FLastClickPosition;
bool FDesigning;
System::UnicodeString FCaption;
void *FData;
Types::TRect FScreenRect;
TaqCustomPlacementInfo* FLastPos;
Types::TPoint FNormalSize;
bool FDefShowCaption;
TaqBooleanValue FShowCaption;
#pragma pack(push,1)
GUID FDockingKey;
#pragma pack(pop)
Aqdockingutils::TaqIntegerList* FActions;
TaqDockCaptionButtonsEx* FButtons;
int FDefMinWidth;
int FDefMinHeight;
TaqDockMenu* FCaptionMenu;
Menus::TMenuItem* FAutoHideMenuItem;
Menus::TMenuItem* FAlignMenuItem;
bool FChildrenSizing;
TaqDockingPanelState FPanelState;
Imglist::TImageIndex FImageIndex;
TaqDragDockKind FDragDockKind;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -