flexprops.hpp
来自「FlexGraphics是一套创建矢量图形的VCL组件」· HPP 代码 · 共 966 行 · 第 1/3 页
HPP
966 行
class DELPHICLASS TStrProp;
class PASCALIMPLEMENTATION TStrProp : public TCustomProp
{
typedef TCustomProp inherited;
protected:
System::UnicodeString FValue;
TGetStringEvent FOnGetString;
virtual System::UnicodeString __fastcall GetDisplayValue();
virtual void __fastcall SetValue(const System::UnicodeString Value);
virtual System::UnicodeString __fastcall GetValue();
virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
public:
__fastcall TStrProp(TPropList* AOwner, const System::UnicodeString AName);
__property System::UnicodeString Value = {read=GetValue, write=SetValue};
__property System::UnicodeString SavedValue = {read=FValue, write=FValue};
__property TGetStringEvent OnGetString = {read=FOnGetString, write=FOnGetString};
public:
/* TCustomProp.Destroy */ inline __fastcall virtual ~TStrProp(void) { }
};
class DELPHICLASS TStrListProp;
class PASCALIMPLEMENTATION TStrListProp : public TCustomProp
{
typedef TCustomProp inherited;
public:
System::UnicodeString operator[](int Index) { return Lines[Index]; }
private:
Classes::TStringList* FStrList;
void __fastcall SetText(const Controls::TCaption Value);
System::UnicodeString __fastcall GetLine(int Index);
int __fastcall GetLinesCount(void);
Controls::TCaption __fastcall GetText();
void __fastcall SetLine(int Index, const System::UnicodeString Value);
HIDESBASE System::UnicodeString __fastcall GetName(int Index);
System::UnicodeString __fastcall GetValue(const System::UnicodeString Name);
System::UnicodeString __fastcall GetValueByIndex(int Index);
void __fastcall SetValue(const System::UnicodeString Name, const System::UnicodeString Value);
void __fastcall SetValueByIndex(int Index, const System::UnicodeString Value);
void __fastcall SetName(int Index, const System::UnicodeString Value);
protected:
virtual System::UnicodeString __fastcall GetDisplayValue();
virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
public:
__fastcall TStrListProp(TPropList* AOwner, const System::UnicodeString AName);
__fastcall virtual ~TStrListProp(void);
HIDESBASE void __fastcall Assign(Classes::TStrings* Source);
void __fastcall AssignTo(Classes::TStrings* Dest);
void __fastcall Clear(void);
int __fastcall Add(const System::UnicodeString s);
bool __fastcall Insert(int Index, const System::UnicodeString S);
void __fastcall Delete(int Index);
void __fastcall RemoveByName(const System::UnicodeString Name);
int __fastcall IndexOf(const System::UnicodeString s);
int __fastcall IndexOfName(const System::UnicodeString s);
__property int LinesCount = {read=GetLinesCount, nodefault};
__property System::UnicodeString Lines[int Index] = {read=GetLine, write=SetLine/*, default*/};
__property System::UnicodeString Names[int Index] = {read=GetName, write=SetName};
__property System::UnicodeString Values[const System::UnicodeString Name] = {read=GetValue, write=SetValue};
__property System::UnicodeString ValuesByIndex[int Index] = {read=GetValueByIndex, write=SetValueByIndex};
__property Controls::TCaption Text = {read=GetText, write=SetText};
};
class DELPHICLASS TUserDataProp;
class PASCALIMPLEMENTATION TUserDataProp : public TStrListProp
{
typedef TStrListProp inherited;
public:
/* TStrListProp.Create */ inline __fastcall TUserDataProp(TPropList* AOwner, const System::UnicodeString AName) : TStrListProp(AOwner, AName) { }
/* TStrListProp.Destroy */ inline __fastcall virtual ~TUserDataProp(void) { }
};
typedef void __fastcall (__closure *TPropDataEvent)(System::TObject* Sender, System::Variant &Value);
class DELPHICLASS TDataProp;
class PASCALIMPLEMENTATION TDataProp : public TCustomProp
{
typedef TCustomProp inherited;
private:
TPropDataEvent FOnGetPropData;
TPropDataEvent FOnSetPropData;
protected:
virtual System::UnicodeString __fastcall GetDisplayValue();
virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
public:
__fastcall TDataProp(TPropList* AOwner, const System::UnicodeString AName);
__property TPropDataEvent OnGetPropData = {read=FOnGetPropData, write=FOnGetPropData};
__property TPropDataEvent OnSetPropData = {read=FOnSetPropData, write=FOnSetPropData};
public:
/* TCustomProp.Destroy */ inline __fastcall virtual ~TDataProp(void) { }
};
#pragma option push -b-
enum TBrushMethod { bmHatch, bmGradient, bmBitmap };
#pragma option pop
class DELPHICLASS TBrushProp;
class PASCALIMPLEMENTATION TBrushProp : public TCustomProp
{
typedef TCustomProp inherited;
private:
Graphics::TBrush* FBrush;
TBrushMethod FMethod;
Flexutils::TGradientStyle FGradStyle;
Graphics::TColor FGradBeginColor;
Graphics::TColor FGradEndColor;
Graphics::TBitmap* FBitmap;
Flexutils::TTiledBitmapCache FCache;
System::UnicodeString FBitmapLinkName;
bool FBitmapMasked;
Graphics::TColor FBitmapMaskColor;
bool FBitmapCache;
Flexutils::TBitmapDisplay FBitmapDisplay;
Graphics::TColor __fastcall GetColor(void);
Graphics::TBrushStyle __fastcall GetStyle(void);
void __fastcall SetColor(const Graphics::TColor Value);
HIDESBASE void __fastcall SetStyle(const Graphics::TBrushStyle Value);
void __fastcall SetGradBeginColor(const Graphics::TColor Value);
void __fastcall SetGradEndColor(const Graphics::TColor Value);
void __fastcall SetGradStyle(const Flexutils::TGradientStyle Value);
bool __fastcall GetIsPaintAlternate(void);
void __fastcall SetBitmap(const Graphics::TBitmap* Value);
void __fastcall SetBitmapMaskColor(const Graphics::TColor Value);
void __fastcall SetBitmapMasked(const bool Value);
void __fastcall SetBitmapCache(const bool Value);
void __fastcall SetBitmapDisplay(const Flexutils::TBitmapDisplay Value);
void __fastcall SetBitmapLinkName(const System::UnicodeString Value);
void __fastcall SetMethod(const TBrushMethod Value);
bool __fastcall GetIsClear(void);
bool __fastcall StoreBitmap(void);
bool __fastcall StoreBitmapLinkName(void);
protected:
virtual TPropType __fastcall GetPropType(const System::UnicodeString PropName);
virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
virtual System::UnicodeString __fastcall GetDisplayValue();
virtual void __fastcall BitmapChange(System::TObject* Sender);
void __fastcall ResetCache(void);
public:
__fastcall TBrushProp(TPropList* AOwner, const System::UnicodeString AName);
__fastcall virtual ~TBrushProp(void);
void __fastcall InitBitmap(int Width = 0x0, int Height = 0x0);
void __fastcall FreeBitmap(void);
bool __fastcall UpdateBitmapLink(void);
virtual void __fastcall Setup(Graphics::TCanvas* Canvas, int Scale = 0x64);
virtual void __fastcall Translate(const Flexutils::TTranslateInfo &TranslateInfo);
void __fastcall PaintAlternate(Graphics::TCanvas* Canvas, Types::TRect &PaintRect, const Types::TRect &RefreshRect, int Scale = 0x64, bool ClipTransparent = false);
__property bool IsPaintAlternate = {read=GetIsPaintAlternate, nodefault};
__property bool IsClear = {read=GetIsClear, nodefault};
__published:
__property TBrushMethod Method = {read=FMethod, write=SetMethod, default=0};
__property Graphics::TColor Color = {read=GetColor, write=SetColor, default=536870911};
__property Graphics::TBrushStyle Style = {read=GetStyle, write=SetStyle, default=0};
__property Graphics::TBitmap* Bitmap = {read=FBitmap, write=SetBitmap, stored=StoreBitmap};
__property System::UnicodeString BitmapLinkName = {read=FBitmapLinkName, write=SetBitmapLinkName, stored=StoreBitmapLinkName};
__property bool BitmapMasked = {read=FBitmapMasked, write=SetBitmapMasked, default=0};
__property Graphics::TColor BitmapMaskColor = {read=FBitmapMaskColor, write=SetBitmapMaskColor, default=0};
__property bool BitmapCache = {read=FBitmapCache, write=SetBitmapCache, default=0};
__property Flexutils::TBitmapDisplay BitmapDisplay = {read=FBitmapDisplay, write=SetBitmapDisplay, default=1};
__property Flexutils::TGradientStyle GradStyle = {read=FGradStyle, write=SetGradStyle, default=0};
__property Graphics::TColor GradBeginColor = {read=FGradBeginColor, write=SetGradBeginColor, default=0};
__property Graphics::TColor GradEndColor = {read=FGradEndColor, write=SetGradEndColor, default=0};
};
class DELPHICLASS TLineCapProp;
class PASCALIMPLEMENTATION TLineCapProp : public TCustomProp
{
typedef TCustomProp inherited;
private:
int FCapStyle;
bool FFixedSize;
int FSize;
bool FFixedOutlineColor;
Graphics::TColor FOutlineColor;
bool FFixedFillColor;
Graphics::TColor FFillColor;
void __fastcall SetCapStyle(const int Value);
void __fastcall SetFillColor(const Graphics::TColor Value);
void __fastcall SetFixedFillColor(const bool Value);
void __fastcall SetFixedOutlineColor(const bool Value);
void __fastcall SetFixedSize(const bool Value);
void __fastcall SetOutlineColor(const Graphics::TColor Value);
void __fastcall SetSize(const int Value);
protected:
virtual System::UnicodeString __fastcall GetDisplayValue();
public:
__fastcall TLineCapProp(TPropList* AOwner, const System::UnicodeString AName);
__fastcall virtual ~TLineCapProp(void);
int __fastcall GetActiveSize(int PenWidth, int PixelSize = 0x3e8);
__published:
__property int CapStyle = {read=FCapStyle, write=SetCapStyle, default=0};
__property bool FixedSize = {read=FFixedSize, write=SetFixedSize, default=0};
__property int Size = {read=FSize, write=SetSize, default=8000};
__property bool FixedOutlineColor = {read=FFixedOutlineColor, write=SetFixedOutlineColor, default=0};
__property Graphics::TColor OutlineColor = {read=FOutlineColor, write=SetOutlineColor, default=0};
__property bool FixedFillColor = {read=FFixedFillColor, write=SetFixedFillColor, default=0};
__property Graphics::TColor FillColor = {read=FFillColor, write=SetFillColor, default=16777215};
};
#pragma option push -b-
enum TPenEndCap { pecFlat, pecSquare, pecRound };
#pragma option pop
#pragma option push -b-
enum TPenJoin { pjBevel, pjMiter, pjRound };
#pragma option pop
class DELPHICLASS TPenProp;
class PASCALIMPLEMENTATION TPenProp : public TCustomProp
{
typedef TCustomProp inherited;
private:
int __fastcall GetActiveWidth(void);
void __fastcall SetColor(const Graphics::TColor Value);
HIDESBASE void __fastcall SetStyle(const Graphics::TPenStyle Value);
void __fastcall SetWidth(const int Value);
void __fastcall SetMode(const Graphics::TPenMode Value);
void __fastcall SetEndCap(const TPenEndCap Value);
void __fastcall SetJoin(const TPenJoin Value);
void __fastcall SetSolidAsInside(const bool Value);
protected:
Graphics::TPenStyle FStyle;
Graphics::TColor FColor;
Graphics::TPenMode FMode;
int FWidth;
TPenEndCap FEndCap;
TPenJoin FJoin;
bool FSolidAsInside;
virtual System::UnicodeString __fastcall GetDisplayValue();
public:
__fastcall TPenProp(TPropList* AOwner, const System::UnicodeString AName);
virtual void __fastcall Setup(Graphics::TCanvas* Canvas, int Scale = 0x64);
void __fastcall GetPaintData(int &AWidth, Graphics::TPenStyle &AStyle, bool &IsGeometricPen, int Scale = 0x64);
__property int ActiveWidth = {read=GetActiveWidth, nodefault};
__published:
__property Graphics::TColor Color = {read=FColor, write=SetColor, default=0};
__property Graphics::TPenStyle Style = {read=FStyle, write=SetStyle, default=0};
__property Graphics::TPenMode Mode = {read=FMode, write=SetMode, default=4};
__property int Width = {read=FWidth, write=SetWidth, default=1000};
__property TPenEndCap EndCap = {read=FEndCap, write=SetEndCap, default=2};
__property TPenJoin Join = {read=FJoin, write=SetJoin, default=2};
__property bool SolidAsInside = {read=FSolidAsInside, write=SetSolidAsInside, default=1};
public:
/* TCustomProp.Destroy */ inline __fastcall virtual ~TPenProp(void) { }
};
class DELPHICLASS TFontProp;
class PASCALIMPLEMENTATION TFontProp : public TCustomProp
{
typedef TCustomProp inherited;
private:
Graphics::TFont* FFont;
int FFontHeight;
Graphics::TFontCharset __fastcall GetCharset(void);
HFONT __fastcall GetHandle(void);
int __fastcall GetSize(void);
HIDESBASE Graphics::TFontName __fastcall GetName();
Graphics::TFontPitch __fastcall GetPitch(void);
Graphics::TFontStyles __fastcall GetStyle(void);
Graphics::TColor __fastcall GetColor(void);
int __fastcall GetPixelsPerInch(void);
void __fastcall SetCharset(const Graphics::TFontCharset Value);
void __fastcall SetColor(const Graphics::TColor Value);
void __fastcall SetHandle(const HFONT Value);
void __fastcall SetHeight(const int Value);
void __fastcall SetName(const Graphics::TFontName Value);
void __fastcall SetPitch(const Graphics::TFontPitch Value);
void __fastcall SetSize(const int Value);
HIDESBASE void __fastcall SetStyle(const Graphics::TFontStyles Value);
void __fastcall SetPixelsPerInch(const int Value);
protected:
virtual System::UnicodeString __fastcall GetDisplayValue();
public:
__fastcall TFontProp(TPropList* AOwner, const System::UnicodeString AName);
__fastcall virtual ~TFontProp(void);
virtual void __fastcall Setup(Graphics::TCanvas* Canvas, int Scale = 0x64);
virtual bool __fastcall Edit(void);
void __fastcall GetFont(Graphics::TFont* &AFont);
void __fastcall SetFont(const Graphics::TFont* AFont);
__property HFONT Handle = {read=GetHandle, write=SetHandle, nodefault};
__published:
__property int PixelsPerInch = {read=GetPixelsPerInch, write=SetPixelsPerInch, stored=false, nodefault};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?