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 + -
显示快捷键?