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

📄 flexbase.hpp

📁 FlexGraphics是一套创建矢量图形的VCL组件
💻 HPP
📖 第 1 页 / 共 5 页
字号:
public:
	__fastcall TFlexPaintList(TFlexPanel* AOwner);
	__fastcall virtual ~TFlexPaintList(void);
	PFlexPaintStruct __fastcall BeginPaint(Graphics::TCanvas* ACanvas);
	void __fastcall EndPaint(PFlexPaintStruct PaintStruct);
	__property TFlexPanel* Owner = {read=FOwner};
};


class DELPHICLASS TFlexClone;
typedef TMetaClass*TFlexCloneClass;

typedef TMetaClass*TFlexGroupClass;

class PASCALIMPLEMENTATION TFlexPanel : public Forms::TScrollingWinControl 
{
	typedef Forms::TScrollingWinControl inherited;
	
private:
	Forms::TFormBorderStyle FBorderStyle;
	Graphics::TCanvas* FCanvas;
	int FDocWidth;
	int FDocHeight;
	Graphics::TColor FDocFrameColor;
	Graphics::TColor FDocShadowColor;
	Graphics::TBrush* FDocSpaceBrush;
	bool FDocSpaceFill;
	bool FDocClipping;
	bool FSchemeBkStretch;
	bool FShowDocFrame;
	bool FAutoZoom;
	bool FAutoNames;
	bool FAutoNameNumbs;
	bool FSelectAsFilled;
	bool FSelectPartialOverlapped;
	TFlexGrid* FGridControl;
	TFlexToolMode FToolMode;
	TFlexToolMode FDefaultToolMode;
	bool FAutoDragEnabled;
	TFlexLayers* FLayers;
	TFlexLayer* FActiveLayer;
	TFlexSchemes* FSchemes;
	TFlexCustomScheme* FActiveScheme;
	Classes::TList* FSelList;
	bool FInDesign;
	bool FViewing;
	bool FModified;
	Flexutils::TIdPool* FIdPool;
	TFlexControl* FIdChangeControl;
	int FConnectorsMinGap;
	#pragma pack(push, 1)
	Types::TPoint FMouseAnchor;
	#pragma pack(pop)
	
	#pragma pack(push, 1)
	Types::TPoint FMoveStart;
	#pragma pack(pop)
	
	#pragma pack(push, 1)
	Types::TRect FResizeRect;
	#pragma pack(pop)
	
	#pragma pack(push, 1)
	Types::TRect FMarqueeRect;
	#pragma pack(pop)
	
	TMetaClass*FCreatingControlClass;
	bool FShowEditPointGuide;
	TFlexEditPointGuide FEditPointGuide;
	TFlexControl* FEditPointControl;
	DynamicArray<bool >  FEditPointSelected;
	int FEditPointSelCount;
	bool FUseOriginalBezier;
	bool FUseImageClipTransparent;
	bool FWMPaintProcessing;
	Flexutils::TNotifyLink* FNotifyLink;
	Flexalpha::TAlphaBuffer* FAlphaBuffer;
	bool FFrostPan;
	bool FFrostPanFullDoc;
	TFlexControlCreateEvent FOnControlCreate;
	TFlexUpdateCursorEvent FOnUpdateCursor;
	Flexprops::TPropChangedEvent FOnPropBeforeChanged;
	Flexprops::TPropChangedEvent FOnPropChanged;
	TFlexPaintEvent FOnPaintScheme;
	TFlexPaintEvent FOnPaintOver;
	TFlexNotifyEvent FOnNotify;
	Classes::TNotifyEvent FOnBeginSelectionUpdate;
	Classes::TNotifyEvent FOnEndSelectionUpdate;
	Flexutils::TFlexProgressEvent FOnProgress;
	Classes::TNotifyEvent FOnToolMode;
	TFlexNeedHintEvent FOnNeedHint;
	TFlexShowHintEvent FOnShowHint;
	Classes::TNotifyEvent FOnMouseControlChange;
	void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
	void __fastcall SetInDesign(const bool Value);
	void __fastcall SetActiveLayer(const TFlexLayer* Value);
	void __fastcall SetActiveScheme(const TFlexCustomScheme* Value);
	TFlexControl* __fastcall GetSelected(int Index);
	int __fastcall GetSelectedCount(void);
	void __fastcall SetToolMode(const TFlexToolMode Value);
	void __fastcall SetCreatingControlClass(const TMetaClass* Value);
	unsigned __fastcall GetCppCreatingControlClass(void);
	void __fastcall SetCppCreatingControlClass(const unsigned Value);
	void __fastcall SetDocHeight(const int Value);
	void __fastcall SetDocWidth(const int Value);
	void __fastcall SetDocFrameColor(const Graphics::TColor Value);
	void __fastcall SetDocShadowColor(const Graphics::TColor Value);
	void __fastcall SetDocSpaceFill(const bool Value);
	bool __fastcall GetDocFrameVisible(void);
	void __fastcall SetDocClipping(const bool Value);
	void __fastcall SetShowDocFrame(const bool Value);
	void __fastcall SetScale(int Value);
	bool __fastcall GetShowGrid(void);
	void __fastcall SetShowGrid(const bool Value);
	bool __fastcall GetShowPixGrid(void);
	void __fastcall SetShowPixGrid(const bool Value);
	int __fastcall GetGridHorizSize(void);
	int __fastcall GetGridVertSize(void);
	void __fastcall SetGridHorizSize(const int Value);
	void __fastcall SetGridVertSize(const int Value);
	TFlexGridStyle __fastcall GetGridStyle(void);
	void __fastcall SetGridStyle(const TFlexGridStyle Value);
	bool __fastcall GetSnapToGrid(void);
	void __fastcall SetSnapToGrid(const bool Value);
	TFlexSnaps __fastcall GetSnapStyle(void);
	void __fastcall SetSnapStyle(const TFlexSnaps Value);
	Graphics::TColor __fastcall GetGridColor(void);
	void __fastcall SetGridColor(const Graphics::TColor Value);
	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;
	#pragma pack(push, 1)
	Types::TPoint FOrigin;
	#pragma pack(pop)
	
	#pragma pack(push, 1)
	Types::TRect FClientDocRect;
	#pragma pack(pop)
	
	Flexutils::TFlexFilerProcess FFilerProcess;
	TFlexPaintCache FPaintCache;
	int FPaintWidth;
	int FPaintHeight;
	#pragma pack(push, 1)
	Types::TRect FPaintRect;
	#pragma pack(pop)
	
	bool FPaintForExport;
	bool FPaintSchemeBackground;
	#pragma pack(push, 1)
	Types::TPoint FInPaintOrigin;
	#pragma pack(pop)
	
	int FInPaintScale;
	int FScale;
	bool FZoomingIn;
	#pragma pack(push, 1)
	Types::TPoint FZoomMouseStart;
	#pragma pack(pop)
	
	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;
	#pragma pack(push, 1)
	Types::TPoint FLastMousePos;
	#pragma pack(pop)
	
	Classes::TShiftState FLastKeyShift;
	#pragma pack(push, 1)
	Types::TRect FSelRect;
	#pragma pack(pop)
	
	int FSelUpdateCounter;
	bool FSelNeedUpdate;
	TResizeCursor FResizeCursor;
	HRGN FPointsRgn;
	bool FPointsRgnExact;
	TFlexDragObject* FDragObject;
	Flexprops::TPropRefList* FRefPropsList;
	TLinkPointInfo FDefaultLinkPoint;
	#pragma pack(push, 1)
	Types::TPoint FLastMovedPos;
	#pragma pack(pop)
	
	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(Forms::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(Word &Key, Classes::TShiftState Shift);
	DYNAMIC void __fastcall KeyUp(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};
	

⌨️ 快捷键说明

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