flexbase.hpp

来自「FlexGraphics是一套创建矢量图形的VCL组件」· HPP 代码 · 共 1,378 行 · 第 1/5 页

HPP
1,378
字号
	void __fastcall SetMarqueeRect(const Types::TRect &Value);
	void __fastcall SetEditPointControl(TFlexControl* Value);
	TFlexCustomScheme* __fastcall GetDefaultScheme(void);
	Graphics::TColor __fastcall GetGridPixColor(void);
	void __fastcall SetGridPixColor(const Graphics::TColor Value);
	void __fastcall SetHorzExtraSpace(const int Value);
	void __fastcall SetVertExtraSpace(const int Value);
	void __fastcall DocSpaceBrushChanged(System::TObject* Sender);
	void __fastcall SetSchemeBkStretch(const bool Value);
	void __fastcall FilerProgress(System::TObject* Sender, int Progress, Flexutils::TFlexFilerProcess Process);
	void __fastcall SetDocSpaceBrush(const Graphics::TBrush* Value);
	HIDESBASE int __fastcall GetControlCount(TFlexControl* Control);
	bool __fastcall GetEditPointSelected(int Index);
	void __fastcall SetEditPointSelected(int Index, bool Value);
	Flexpath::TPathEditFuncs __fastcall GetEditPointsCaps(void);
	bool __fastcall GetIsLoading(void);
	void __fastcall SetHideSelection(const bool Value);
	void __fastcall UpdateMouseData(void);
	bool __fastcall IsEditCloseFigure(void);
	bool __fastcall CloseFigureByPoint(int Index);
	void __fastcall SetShowEditPointGuide(const bool Value);
	Flexutils::TNotifyLink* __fastcall GetNotifyLink(void);
	void __fastcall SetAutoZoom(const bool Value);
	void __fastcall SetGridControl(const TFlexGrid* Value);
	void __fastcall SetFrostPan(const bool Value);
	HIDESBASE MESSAGE void __fastcall CMHintShow(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
	HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
	HIDESBASE MESSAGE void __fastcall WMHScroll(Messages::TWMScroll &Message);
	HIDESBASE MESSAGE void __fastcall WMVScroll(Messages::TWMScroll &Message);
	HIDESBASE MESSAGE void __fastcall WMNCHitTest(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMNCCalcSize(Messages::TMessage &Message);
	
protected:
	TFlexPanelHistory* FHistory;
	Flexhistory::THistoryGroup* FCreateInDesignAction;
	Classes::TList* FWithoutParent;
	Controls::TCursor FFlexCursor;
	Types::TPoint FOrigin;
	Types::TRect FClientDocRect;
	Flexutils::TFlexFilerProcess FFilerProcess;
	TFlexPaintCache FPaintCache;
	int FPaintWidth;
	int FPaintHeight;
	Types::TRect FPaintRect;
	bool FPaintForExport;
	bool FPaintSchemeBackground;
	Types::TPoint FInPaintOrigin;
	int FInPaintScale;
	int FScale;
	bool FZoomingIn;
	Types::TPoint FZoomMouseStart;
	bool FIsPointAlter;
	bool FIsOverPoint;
	bool FIsOverCurveSegment;
	bool FIsOverSegment;
	Flexpath::TNearestPoint FOverCurveNearest;
	TFlexControl* FMouseControl;
	TFlexControl* FMouseSubControl;
	bool FHideSelection;
	TFlexControl* FHintControl;
	int FEditPointIndex;
	int FIsLoading;
	TFlexLoadFunc FLoadFunc;
	Types::TPoint FLastMousePos;
	Classes::TShiftState FLastKeyShift;
	Types::TRect FSelRect;
	int FSelUpdateCounter;
	bool FSelNeedUpdate;
	TResizeCursor FResizeCursor;
	HRGN FPointsRgn;
	bool FPointsRgnExact;
	TFlexDragObject* FDragObject;
	Flexprops::TPropRefList* FRefPropsList;
	TLinkPointInfo FDefaultLinkPoint;
	Types::TPoint FLastMovedPos;
	TFlexPaintList* FPaintList;
	int FHorzExtraSpace;
	int FVertExtraSpace;
	bool FSaveAsBinary;
	Graphics::TBitmap* FFrostPanImage;
	int __fastcall AddWithoutParent(TFlexControl* Control);
	bool __fastcall RemoveWithoutParent(TFlexControl* Control);
	TFlexControl* __fastcall WithoutParentFindById(unsigned ControlID);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual void __fastcall DoNotify(TFlexControl* Control, Flexutils::TFlexNotify Notify);
	bool __fastcall IsInternalControl(TFlexControl* Control);
	void __fastcall UpdateOrigin(void);
	HIDESBASE void __fastcall UpdateScrollBars(void);
	virtual void __fastcall Paint(Graphics::TCanvas* ACanvas, TFlexControl* AControl, bool ChildrenOnly, bool SelectedOnly);
	virtual void __fastcall PaintPoints(Graphics::TCanvas* ACanvas);
	virtual void __fastcall PaintLinkPoint(Graphics::TCanvas* ACanvas);
	Types::TRect __fastcall GetAnchorRect(TFlexControl* AControl, int Inflate = 0x0);
	Types::TRect __fastcall GetEditPointRect(int Index, int Inflate = 0x0);
	bool __fastcall DoPointEdit(TFlexControl* Control, int Index, int DocX, int DocY);
	DYNAMIC void __fastcall DoEnter(void);
	DYNAMIC void __fastcall DoExit(void);
	virtual void __fastcall DoMouseControlChange(void);
	void __fastcall UpdatePoints(void);
	bool __fastcall UpdatePointGuide(HRGN Region = (HRGN)(0x0));
	bool __fastcall UpdatePointTangents(HRGN Region = (HRGN)(0x0));
	void __fastcall UpdateEditPointIndex(void);
	void __fastcall FindControlPoints(int PointIndex, /* out */ int &PrevNode, /* out */ int &NextNode);
	int __fastcall FindFirstOrLastNodeIfEqual(int Index, TFlexControl* AControl);
	void __fastcall InvalidateSelection(void);
	virtual void __fastcall PaintSelection(Graphics::TCanvas* ACanvas);
	virtual void __fastcall PaintMarquee(Graphics::TCanvas* ACanvas);
	virtual void __fastcall DoNeedHint(bool &IsNeedHint);
	virtual void __fastcall DoShowHint(Controls::THintInfo &HintInfo, bool &IsShowHint);
	DYNAMIC void __fastcall DoStartDrag(Controls::TDragObject* &DragObject);
	DYNAMIC void __fastcall DragOver(System::TObject* Source, int X, int Y, Controls::TDragState State, bool &Accept);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	void __fastcall UpdateToolMode(Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall KeyDown(System::Word &Key, Classes::TShiftState Shift);
	DYNAMIC void __fastcall KeyUp(System::Word &Key, Classes::TShiftState Shift);
	bool __fastcall ValidateID(TFlexControl* Control, unsigned LastID);
	virtual void __fastcall PropBeforeChanged(System::TObject* Sender, Flexprops::TCustomProp* Prop);
	virtual void __fastcall PropChanged(System::TObject* Sender, Flexprops::TCustomProp* Prop);
	virtual HRGN __fastcall CreateSelMarkersRgn(void);
	virtual TResizeCursor __fastcall GetSelResizeCursor(int PaintX, int PaintY);
	void __fastcall UpdateSelection(TFlexControl* Control);
	virtual void __fastcall SetConnectorsMinGap(const int Value);
	virtual void __fastcall SetMouseControl(TFlexControl* Control, TFlexControl* SubControl = (TFlexControl*)(0x0));
	__property Graphics::TCanvas* Canvas = {read=FCanvas};
	__property Types::TRect MarqueeRect = {read=FMarqueeRect, write=SetMarqueeRect};
	__property Flexalpha::TAlphaBuffer* AlphaBuffer = {read=FAlphaBuffer};
	
public:
	__fastcall virtual TFlexPanel(Classes::TComponent* AOwner);
	__fastcall virtual ~TFlexPanel(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	DYNAMIC void __fastcall Click(void);
	HIDESBASE void __fastcall AutoSize(void);
	virtual void __fastcall BeginLoading(void);
	virtual void __fastcall EndLoading(void);
	virtual TFlexControl* __fastcall CreateControl(TFlexControlClass ControlClass, int ALeft, int ATop, int AWidth, int AHeight, TFlexCustomScheme* Scheme = (TFlexCustomScheme*)(0x0), TFlexLayer* Layer = (TFlexLayer*)(0x0), bool UseGrid = true);
	HIDESBASE void __fastcall PaintTo(Graphics::TCanvas* ACanvas, const Types::TRect &APaintRect, const Types::TPoint &AOrigin, int AScale, TFlexControl* AControl, bool Clipping, bool ChildrenOnly, bool SelectedOnly, bool ForExport, bool AUseOriginalBezier = false, bool AUseImageClipTransparent = false);
	virtual void __fastcall PaintEmptyPicture(Graphics::TCanvas* ACanvas, TFlexControl* APicture);
	void __fastcall InvalidateDocRect(const Types::TRect &DocRect);
	HIDESBASE virtual bool __fastcall InvalidateControl(TFlexControl* AControl);
	void __fastcall EmptyDocument(void);
	void __fastcall NewDocument(void);
	virtual void __fastcall UpdateCursor(void);
	TFlexControl* __fastcall FindControl(const System::UnicodeString AName, TFlexControl* From = (TFlexControl*)(0x0));
	TFlexControl* __fastcall FindControlByID(unsigned ControlID, TFlexControl* From = (TFlexControl*)(0x0));
	virtual TFlexControl* __fastcall FindControlAtPoint(int x, int y);
	System::UnicodeString __fastcall GetDefaultNewName(TFlexControl* Control, TFlexControl* RootControl = (TFlexControl*)(0x0), bool GenerateNumb = false);
	void __fastcall GenerateID(TFlexControl* Control);
	virtual void __fastcall DoSnapToGrid(int HStep, int VStep, const Types::TRect &SnapRect, Types::TPoint &Delta, TFlexSnaps SnapTo = (TFlexSnaps() << snAll ), TResizeCursor ResizeCursor = (TResizeCursor)(0x0), int HOffset = 0x0, int VOffset = 0x0);
	TFlexDragObject* __fastcall StartDrag(TFlexControl* AControl, bool ChildrenOnly, bool SelectedOnly, const Types::TPoint &MousePos, const Types::TPoint &AOrigin, int AScale, const System::UnicodeString DragName = L"");
	TFlexDragObject* __fastcall CreateDragObject(TFlexControl* AControl, bool ChildrenOnly, bool SelectedOnly, System::UnicodeString DragName = L"");
	DYNAMIC void __fastcall DragDrop(System::TObject* Source, int X, int Y);
	Flexutils::TFlexFiler* __fastcall CreateFlexFiler(Classes::TStream* AStream, Flexutils::TFlexFilerProcess Process, bool ABinary = false);
	bool __fastcall LoadFromStream(Classes::TStream* Stream);
	bool __fastcall LoadFromFile(const System::UnicodeString Filename);
	virtual bool __fastcall LoadFromFiler(Flexutils::TFlexFiler* Filer, TFlexLoadFunc LoadFunc);
	virtual TFlexControl* __fastcall LoadFlexControl(Flexutils::TFlexFiler* Filer, TFlexControl* AParent, const System::UnicodeString First, bool WithoutParent = false);
	bool __fastcall SaveToFile(const System::UnicodeString Filename);
	bool __fastcall SaveToStream(Classes::TStream* Stream);
	bool __fastcall SaveToFiler(Flexutils::TFlexFiler* Filer, bool SelectedOnly = false, TFlexControl* AControl = (TFlexControl*)(0x0), bool ChildrenOnly = false);
	void __fastcall Print(Printers::TPrinter* APrinter, bool PrintBackground, bool SelectedOnly);
	void __fastcall TransformRect(Types::TRect &R);
	void __fastcall TransformPoint(int &px, int &py);
	void __fastcall TransformPointIndirect(Types::TPoint &P);
	void __fastcall UnTransformPoint(int &px, int &py);
	void __fastcall BeginSelectionUpdate(bool IsTransformation = false, Flexhistory::THistoryGroupClass HistoryGroup = 0x0);
	void __fastcall EndSelectionUpdate(bool IsTransformation = false, Flexhistory::THistoryGroupClass HistoryGroup = 0x0);
	bool __fastcall IsSelected(TFlexControl* AControl);
	bool __fastcall Select(TFlexControl* AControl);
	HIDESBASE TFlexControl* __fastcall SelectNext(void);
	TFlexControl* __fastcall SelectPrev(void);
	bool __fastcall Unselect(TFlexControl* AControl);
	void __fastcall UnselectAll(void);
	void __fastcall CopyToClipboard(void);
	void __fastcall CutToClipboard(void);
	virtual void __fastcall PasteFromClipboard(bool FlexDocOnly = false);
	virtual bool __fastcall PasteAvailable(bool FlexDocOnly = false);
	void __fastcall DeleteSelected(void);
	void __fastcall BackOne(void);
	void __fastcall ForwardOne(void);
	void __fastcall ToBack(void);
	void __fastcall ToFront(void);
	TFlexClone* __fastcall CloneSelected(int ShiftX = 0x0, int ShiftY = 0x0, TFlexCloneClass CloneClass = 0x0);
	TFlexGroup* __fastcall Group(TFlexGroupClass GroupClass = 0x0);
	bool __fastcall Ungroup(void);
	void __fastcall Zoom(int AScale, Types::PRect ZoomRect);
	void __fastcall Rotate(int ADegree, bool AMirror);
	void __fastcall Translate(Flexutils::TTranslateInfo &TranslateInfo);
	void __fastcall MoveSelected(int ShiftX, int ShiftY);
	virtual void __fastcall ResizeSelected(int DeltaX, int DeltaY, bool Proportional = false, bool UseGrid = true, TResizeCursor ResizeCursor = (TResizeCursor)(0x8), bool UseDefaultSnap = true, bool ProportionalToMax = false);
	void __fastcall Duplicate(int ShiftX, int ShiftY);
	void __fastcall AlignSelected(TFlexAlign Align);
	bool __fastcall IsEditPointsVisible(void);
	bool __fastcall EditPoints(Flexpath::TPathEditFunc Func, Flexpath::PPathEditParams Params = (void *)(0x0));
	bool __fastcall BreakApartSelected(void);
	bool __fastcall CombineSelected(void);
	bool __fastcall FlattenSelected(const float Curvature);
	bool __fastcall ConvertSelectedToCurves(void);
	void __fastcall SelectPoint(int Index);
	void __fastcall UnselectPoint(int Index);
	void __fastcall UnselectAllPoints(void);
	void __fastcall DeleteSelectedPoints(void);
	__property TFlexToolMode ToolMode = {read=FToolMode, write=SetToolMode, nodefault};
	__property TFlexPanelHistory* History = {read=FHistory};
	__property Types::TPoint Origin = {read=FOrigin};
	__property Types::TRect ClientDocRect = {read=FClientDocRect};
	__property TFlexLayers* Layers = {read=FLayers};
	__property TFlexLayer* ActiveLayer = {read=FActiveLayer, write=SetActiveLayer};
	__property TFlexSchemes* Schemes = {read=FSchemes};
	__property TFlexCustomScheme* ActiveScheme = {read=FActiveScheme, write=SetActiveScheme};
	__property TFlexCustomScheme* DefaultScheme = {read=GetDefaultScheme};
	__property int SelectedCount = {read=GetSelectedCount, nodefault};
	__property TFlexControl* Selected[int Index] = {read=GetSelected};
	__property Types::TRect SelectedRange = {read=FSelRect};
	__property int SelectionUpdateCounter = {read=FSelUpdateCounter, nodefault};
	__property bool InDesign = {read=FInDesign, write=SetInDesign, nodefault};
	__property bool Modified = {read=FModified, write=FModified, nodefault};
	__property bool IsLoading = {read=GetIsLoading, nodefault};
	__property TFlexGrid* GridControl = {read=FGridControl, write=SetGridControl};
	__property int PaintWidth = {read=FPaintWidth, nodefault};
	__property int PaintHeight = {read=FPaintHeight, nodefault};
	__property Types::TRect PaintRect = {read=FPaintRect};
	__property bool PaintForExport = {read=FPaintForExport, nodefault};
	__property bool PaintSchemeBackground = {read=FPaintSchemeBackground, nodefault};
	__property bool DocFrameVisible = {read=GetDocFrameVisible, nodefault};
	__property Flexprops::TPropRefList* PropRefList = {read=FRefPropsList};
	__property TFlexControlClass CreatingControlClass = {read=FCreatingControlClass, write=SetCreatingControlClass};
	__property unsigned CppCreatingControlClass = {read=GetCppCreatingControlClass, write=SetCppCreatingControlClass, nodefault};
	__property TFlexControl* MouseControl = {read=FMouseControl};
	__property TFlexControl* MouseSubControl = {read=FMouseSubControl};
	__property TFlexControl* EditPointControl = {read=FEditPointControl, write=SetEditPointControl};
	__property Flexpath::TPathEditFuncs EditPointsCaps = {read=GetEditPointsCaps, nodefault};
	__property bool EditPointSelected[int Index] = {read=GetEditPointSelected, write=SetEditPointSelected};
	__property int EditPointSelectedTotal = {read=FEditPointSelCount, nodefault};
	__property TLinkPointInfo DefaultLinkPoint = {read=FDefaultLinkPoint};
	__property bool UseOriginalBezier = {read=FUseOriginalBezier, nodefault};
	__property bool UseImageClipTransparent = {read=FUseImageClipTransparent, nodefault};
	__property Flexutils::TNotifyLink* NotifyLink = {read=GetNotifyLink, write=FNotifyLink};
	
__published:
	__property bool AutoDragEnabled = {read=FAutoDragEnabled, write=FAutoDragEnabled, default=0};
	__property bool AutoZoom = {read=FAutoZoom, write=SetAutoZoom, default=0};
	__property int Scale = {read=FScale, write=SetScale, default=100};
	__property int DocWidth = {read=FDocWidth, write=SetDocWidth, nodefault};
	__property int DocHeight = {read=FDocHeight, write=SetDocHeight, nodefault};
	__property Graphics::TColor DocFrameColor = {read=FDocFrameColor, write=SetDocFrameColor, nodefault};
	__property Graphics::TColor DocShadowColor = {read=FDocShadowColor, write=SetDocShadowColor, nodefault};
	__property Graphics::TBrush* DocSpaceBrush = {read=FDocSpaceBrush, write=SetDocSpaceBrush};
	__property bool DocSpaceFill = {read=FDocSpaceFill, write=SetDocSpaceFill, nodefault};
	__property bool DocClipping = {read=FDocClipping, write=SetDocClipping, default=0};
	__property bool SaveAsBinary = {read=FSaveAsBinary, write=FSaveAsBinary, default=0};
	__property bool HideSelection = {read=FHideSelection, write=SetHideSelection, default=0};
	__property int HorzExtraSpace = {read=FHorzExtraSpace, write=SetHorzExtraSpace, default=0};
	__property int VertExtraSpace = {read=FVertExtraSpace, write=SetVertExtraSpace, default=0};
	__property bool SchemeBkStretch = {read=FSchemeBkStretch, write=SetSchemeBkStretch, default=0};
	__property bool AutoNames = {read=FAutoNames, write=FAutoNames, default=1};
	__property int ConnectorsMinGap = {read=FConnectorsMinGap, write=SetConnectorsMinGap, default=8000};
	__property bool AutoNameNumbs = {read=FAutoNameNumbs, write=FAutoNameNumbs, default=0};
	__property bool FrostPan = {read=FFrostPan, write=SetFrostPan, default=0};
	__property bool FrostPanFullDoc = {read=FFrostPanFullDoc, write=FFrostPanFullDoc, default=0};
	__property bool SelectAsFilled = {read=FSelectAsFilled, write=FSelectAsFilled, default=0};
	__property bool SelectPartialOverlapped = {read=FSelectPartialOverlapped, write=FSelectPartialOverlapped, default=0};
	__property bool ShowDocFrame = {read=FShowDocFrame, write=SetShowDocFrame, default=1};
	__property bool ShowGrid = {read=GetShowGrid, write=SetShowGrid, default=0};
	__property bool ShowPixGrid = {read=GetShowPixGrid, write=SetShowPixGrid, default=0};
	__property bool SnapToGrid = {read=GetSnapToGrid, write=SetSnapToGrid, default=0};
	__property TFlexSnaps SnapStyle = {read=GetSnapStyle, write=SetSnapStyle, default=3};
	__property TFlexGridStyle GridStyle = {read=GetGridStyle, write=SetGridStyle, nodefault};
	__property Graphics::TColor GridColor = {read=GetGridColor, write=SetGridColor, nodefault};
	__property Graphics::TColor GridPixColor = {read=GetGridPixColor, write=SetGridPixColor, nodefault};
	__property int GridHorizSize = {read=GetGridHorizSize, write=Set

⌨️ 快捷键说明

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