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

📄 flexbase.hpp

📁 FlexGraphics是一套创建矢量图形的VCL组件
💻 HPP
📖 第 1 页 / 共 5 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FlexBase.pas' rev: 5.00

#ifndef FlexBaseHPP
#define FlexBaseHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <FlexHistory.hpp>	// Pascal unit
#include <FlexAlpha.hpp>	// Pascal unit
#include <FlexPath.hpp>	// Pascal unit
#include <FlexUtils.hpp>	// Pascal unit
#include <FlexProps.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <Consts.hpp>	// Pascal unit
#include <Printers.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Flexbase
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TResizeCursor { rcrNone, rcrTopLeft, rcrTop, rcrTopRight, rcrLeft, rcrRight, rcrBottomLeft, rcrBottom, 
	rcrBottomRight };
#pragma option pop

#pragma option push -b-
enum TFlexToolMode { ftmSelect, ftmSelecting, ftmZoom, ftmZooming, ftmMove, ftmMoving, ftmResize, ftmResizing, 
	ftmCreating, ftmPointEdit, ftmPointSelecting, ftmPointEditing, ftmCurveMoving, ftmCurveContinue, ftmPan, 
	ftmPanning, ftmUser };
#pragma option pop

#pragma option push -b-
enum TFlexAlign { faLeft, faHCenter, faRight, faTop, faVCenter, faBottom, faCenter };
#pragma option pop

#pragma option push -b-
enum TFlexSnap { snLeft, snTop, snRight, snBottom, snCenter, snAll };
#pragma option pop

typedef Set<TFlexSnap, snLeft, snAll>  TFlexSnaps;

#pragma option push -b-
enum TFlexStateItem { fsCreating, fsDestroying, fsAdding, fsExtracting, fsResizing, fsEndUpdating, fsRecording, 
	fsLoading };
#pragma option pop

typedef Set<TFlexStateItem, fsCreating, fsLoading>  TFlexState;

#pragma option push -b-
enum TFlexLoadFunc { lfNew, lfAdd };
#pragma option pop

#pragma option push -b-
enum TFlexGridStyle { gsLines, gsDots };
#pragma option pop

#pragma option push -b-
enum TFlexAlphaBufferMode { amAuto, amRequired, amNotRequired };
#pragma option pop

struct TFlexEditPointGuide;
typedef TFlexEditPointGuide *PFlexEditPointGuide;

struct TFlexEditPointGuide
{
	int Count;
	Windows::TPoint NewPoint;
	DynamicArray<Windows::TPoint >  Points;
	DynamicArray<Windows::TPoint >  PaintPoints;
	DynamicArray<Flexpath::TPointType >  Types;
	DynamicArray<bool >  Visible;
} ;

class DELPHICLASS TFlexControl;
typedef void __fastcall (__closure *TFlexNotifyEvent)(System::TObject* Sender, TFlexControl* Control
	, Flexutils::TFlexNotify Notify);

typedef void __fastcall (__closure *TFlexControlCreateEvent)(System::TObject* Sender, TFlexControl* 
	Control, Windows::TRect &ControlDocRect);

typedef TMetaClass*TFlexControlClass;

typedef DynamicArray<TMetaClass* >  TFlexControlClasses;

struct TFlexCreateInDesignInfo;
typedef TFlexCreateInDesignInfo *PFlexCreateInDesignInfo;

struct TFlexCreateInDesignInfo
{
	bool IsPointEdit;
	int PointEditIndex;
	bool IsContinueAvail;
	int PointContinueIndex;
} ;

struct TPassControlRec;
typedef TPassControlRec *PPassControlRec;

typedef DynamicArray<int >  FlexBase__1;

struct TPassControlRec
{
	TFlexControl* Control;
	TFlexControl* FirstControl;
	DynamicArray<int >  Indexes;
} ;

struct TLinkPointInfo;
typedef TLinkPointInfo *PLinkPointInfo;

struct TLinkPointInfo
{
	TFlexControl* Control;
	int Index;
	Windows::TPoint DocPos;
	int Size;
} ;

class DELPHICLASS TSchemeRefProp;
class PASCALIMPLEMENTATION TSchemeRefProp : public Flexprops::TCustomProp 
{
	typedef Flexprops::TCustomProp inherited;
	
private:
	TFlexControl* FValue;
	void __fastcall SetValue(const TFlexControl* Value);
	
protected:
	virtual AnsiString __fastcall GetDisplayValue();
	virtual TFlexControl* __fastcall GetNamesControl(void);
	
public:
	__fastcall TSchemeRefProp(Flexprops::TPropList* AOwner, const AnsiString AName);
	virtual void __fastcall GetEnumList(Classes::TStrings* List);
	virtual void __fastcall SetPropValue(const AnsiString PropName, const Variant &Value);
	virtual Variant __fastcall GetPropValue(const AnsiString PropName);
	__property TFlexControl* Value = {read=FValue, write=SetValue};
public:
	#pragma option push -w-inl
	/* TCustomProp.Destroy */ inline __fastcall virtual ~TSchemeRefProp(void) { }
	#pragma option pop
	
};


class DELPHICLASS TLinkProp;
class PASCALIMPLEMENTATION TLinkProp : public Flexprops::TCustomProp 
{
	typedef Flexprops::TCustomProp inherited;
	
private:
	AnsiString FValue;
	bool FLinkChanged;
	Flexutils::TNotifyLinkEvent FOnLinkedNotify;
	Flexutils::TNotifyLinkEvent FOnLinkedFreeNotify;
	AnsiString __fastcall GetValue();
	void __fastcall SetValue(const AnsiString Value);
	void __fastcall SetControl(const TFlexControl* Value);
	void __fastcall SetProp(const Flexprops::TCustomProp* Value);
	
protected:
	TFlexControl* FControl;
	Flexprops::TCustomProp* FProp;
	bool FLinkToOtherOwner;
	virtual AnsiString __fastcall GetDisplayValue();
	virtual void __fastcall SetDisplayValue(const AnsiString Value);
	virtual bool __fastcall SetLink(TFlexControl* AControl, Flexprops::TCustomProp* AProp);
	virtual void __fastcall LinkedNotify(System::TObject* Sender, Flexutils::TNotifyLink* Source, const 
		Flexutils::TNotifyLinkInfo &Info);
	virtual void __fastcall LinkedFreeNotify(System::TObject* Sender, Flexutils::TNotifyLink* Source, const 
		Flexutils::TNotifyLinkInfo &Info);
	
public:
	__fastcall TLinkProp(Flexprops::TPropList* AOwner, const AnsiString AName);
	__fastcall virtual ~TLinkProp(void);
	virtual void __fastcall SetPropValue(const AnsiString PropName, const Variant &Value);
	virtual Variant __fastcall GetPropValue(const AnsiString PropName);
	__property TFlexControl* LinkedControl = {read=FControl, write=SetControl};
	__property Flexprops::TCustomProp* LinkedProp = {read=FProp, write=SetProp};
	__property AnsiString Value = {read=GetValue, write=SetValue};
	__property NotifyLink  = {read=FNotifyLink};
	__property Flexutils::TNotifyLinkEvent OnLinkedNotify = {read=FOnLinkedNotify, write=FOnLinkedNotify
		};
	__property Flexutils::TNotifyLinkEvent OnLinkedFreeNotify = {read=FOnLinkedFreeNotify, write=FOnLinkedFreeNotify
		};
};


class DELPHICLASS TLinkPointProp;
class PASCALIMPLEMENTATION TLinkPointProp : public TLinkProp 
{
	typedef TLinkProp inherited;
	
private:
	TFlexControl* FConnector;
	Windows::TPoint FLinkPoint;
	Windows::TPoint FSavedPoint;
	Windows::TRect FSavedRect;
	void __fastcall SetLinkPoint(const Windows::TPoint &Value);
	
protected:
	virtual bool __fastcall SetLink(TFlexControl* AControl, Flexprops::TCustomProp* AProp);
	virtual void __fastcall LinkedNotify(System::TObject* Sender, Flexutils::TNotifyLink* Source, const 
		Flexutils::TNotifyLinkInfo &Info);
	
public:
	__fastcall TLinkPointProp(Flexprops::TPropList* AOwner, const AnsiString AName);
	int __fastcall IndexOfLinkPoint(void);
	__property Flexprops::TCustomProp* LinkedProp = {read=FProp};
	__property Windows::TPoint LinkPoint = {read=FLinkPoint, write=SetLinkPoint};
public:
	#pragma option push -w-inl
	/* TLinkProp.Destroy */ inline __fastcall virtual ~TLinkPointProp(void) { }
	#pragma option pop
	
};


class DELPHICLASS TLayerProp;
class DELPHICLASS TFlexLayer;
class PASCALIMPLEMENTATION TLayerProp : public Flexprops::TStrProp 
{
	typedef Flexprops::TStrProp inherited;
	
private:
	TFlexLayer* __fastcall GetControl(void);
	void __fastcall SetControl(const TFlexLayer* Value);
	
protected:
	virtual void __fastcall SetValue(const AnsiString Value);
	
public:
	__fastcall TLayerProp(Flexprops::TPropList* AOwner, const AnsiString AName);
	virtual void __fastcall GetEnumList(Classes::TStrings* List);
	__property TFlexLayer* Control = {read=GetControl, write=SetControl};
public:
	#pragma option push -w-inl
	/* TCustomProp.Destroy */ inline __fastcall virtual ~TLayerProp(void) { }
	#pragma option pop
	
};


class DELPHICLASS TFlexPanel;
class DELPHICLASS TFlexGrid;
class DELPHICLASS TFlexServiceControl;
class DELPHICLASS TFlexCustomScheme;
class PASCALIMPLEMENTATION TFlexControl : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	TFlexPanel* FOwner;
	TFlexControl* FParent;
	TFlexLayer* FLayer;
	TFlexState FState;
	Classes::TList* FControls;
	Flexprops::TPropList* FProps;
	unsigned FCheckID;
	bool FNonVisual;
	bool FNoPaintRectCheck;
	int FUpdateCounter;
	int FPointsDesigning;
	Flexutils::TNotifyLink* FNotifyLink;
	Classes::TList* FLinkPoints;
	bool FLinkPointsChanged;
	bool FRectChanged;
	int FTranslateCount;
	Flexprops::TStrProp* FNameProp;
	Flexprops::TIntProp* FLeftProp;
	Flexprops::TIntProp* FTopProp;
	Flexprops::TIntProp* FWidthProp;
	Flexprops::TIntProp* FHeightProp;
	Flexprops::TLongWordProp* FIdProp;

⌨️ 快捷键说明

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