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

📄 tmsuescherrecords.hpp

📁 TMS Component Pack V5.0包含了超过 280 个为 Delphi 以及 C++Builder 设计的 TMS 生产控件
💻 HPP
📖 第 1 页 / 共 2 页
字号:
	Byte *Data;
	virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
	
public:
	__fastcall virtual TEscherDataRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherDataRecord(void);
	virtual void __fastcall Load(Tmsuxlsbaserecords::TBaseRecord* &aRecord, int &aPos);
	virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
	virtual __int64 __fastcall TotalSizeNoSplit(void);
	virtual void __fastcall SplitRecords(int &NextPos, int &RealSize, int &NextDwg, const Tmsubreaklist::TBreakList* BreakList);
	virtual int __fastcall CompareRec(const TEscherRecord* aRecord);
	void __fastcall ClearData(void);
};


struct TDg;
typedef TDg *PDg;

class PASCALIMPLEMENTATION TEscherDgRecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
private:
	TDg *Dg;
	
public:
	__fastcall virtual TEscherDgRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall TEscherDgRecord(const unsigned csp, const unsigned cspidCur, const __int64 FirstShapeId, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherDgRecord(void);
	virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
	unsigned __fastcall IncMaxShapeId(void);
	void __fastcall DecShapeCount(void);
};


class DELPHICLASS TEscherSolverContainerRecord;
class PASCALIMPLEMENTATION TEscherSolverContainerRecord : public TEscherContainerRecord 
{
	typedef TEscherContainerRecord inherited;
	
public:
	unsigned MaxRuleId;
	__fastcall virtual TEscherSolverContainerRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherSolverContainerRecord(void);
	unsigned __fastcall IncMaxRuleId(void);
	void __fastcall CheckMax(const unsigned aRuleId);
	void __fastcall DeleteRef(const TEscherSPRecord* Shape);
	void __fastcall FixPointers(void);
	void __fastcall ArrangeCopyRowsAndCols(const System::TObject* dSheet);
};


struct TEscherDwgCache
{
	
public:
	bool Destroying;
	Word MaxObjId;
	TEscherDgRecord* Dg;
	TEscherSolverContainerRecord* Solver;
	TEscherSpgrContainerRecord* Patriarch;
	TEscherAnchorCache* Anchor;
	TEscherShapeCache* Shape;
	TEscherObjCache* Obj;
	TEscherOPTCache* Blip;
} ;

class DELPHICLASS TEscherBStoreRecord;
class PASCALIMPLEMENTATION TEscherBStoreRecord : public TEscherContainerRecord 
{
	typedef TEscherContainerRecord inherited;
	
public:
	__fastcall virtual TEscherBStoreRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherBStoreRecord(void);
	void __fastcall AddRef(const int BlipPos);
	void __fastcall Release(const int BlipPos);
	virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
};


class DELPHICLASS TEscherDggRecord;
struct TDgg;
typedef TDgg *PDgg;

class PASCALIMPLEMENTATION TEscherDggRecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
private:
	void __fastcall GetNewCluster(int &DgId, const bool GetNewId, const __int64 ShapeCount, /* out */ __int64 &FirstShapeId);
	
public:
	TDgg *FDgg;
	__fastcall virtual TEscherDggRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall TEscherDggRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherDggRecord(void);
	__int64 __fastcall AddImage(const int DgId, const __int64 LastImageId);
	void __fastcall AddNewCluster(int DgId, const __int64 ShapeCount, /* out */ __int64 &FirstShapeId);
	void __fastcall DestroyClusters(const int DgId);
	void __fastcall GetNewDgIdAndCluster(/* out */ int &DgId, /* out */ __int64 &FirstShapeId);
	bool __fastcall IsEmpty(void);
	void __fastcall RemoveImage(const int DgId);
};


struct TEscherDwgGroupCache
{
	
public:
	TEscherBStoreRecord* BStore;
	TEscherDggRecord* Dgg;
} ;

class DELPHICLASS TEscherSpContainerRecord;
class PASCALIMPLEMENTATION TEscherSpContainerRecord : public TEscherContainerRecord 
{
	typedef TEscherContainerRecord inherited;
	
public:
	TEscherSPRecord* SP;
	TEscherOPTRecord* Opt;
	TEscherClientAnchorRecord* ClientAnchor;
	int __fastcall Row(void);
	int __fastcall Col(void);
public:
	#pragma option push -w-inl
	/* TEscherContainerRecord.Create */ inline __fastcall virtual TEscherSpContainerRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent) : TEscherContainerRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TEscherContainerRecord.Destroy */ inline __fastcall virtual ~TEscherSpContainerRecord(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TEscherSpgrContainerRecord : public TEscherContainerRecord 
{
	typedef TEscherContainerRecord inherited;
	
public:
	__fastcall virtual TEscherSpgrContainerRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherSpgrContainerRecord(void);
};


class PASCALIMPLEMENTATION TEscherClientDataRecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
public:
	Tmsuxlsbaseclientdata::TBaseClientData* ClientData;
	
protected:
	virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
	
public:
	__fastcall virtual TEscherClientDataRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall TEscherClientDataRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherClientDataRecord(void);
	virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
	virtual __int64 __fastcall TotalSizeNoSplit(void);
	virtual bool __fastcall Loaded(void);
	virtual bool __fastcall WaitingClientData(/* out */ TMetaClass* &ClientType);
	virtual void __fastcall SplitRecords(int &NextPos, int &RealSize, int &NextDwg, const Tmsubreaklist::TBreakList* BreakList);
	virtual void __fastcall AssignClientData(const Tmsuxlsbaseclientdata::TBaseClientData* aClientData);
	void __fastcall ArrangeCopyRowsAndCols(const int RowOfs, const int ColOfs);
	virtual void __fastcall ArrangeInsertRowsAndCols(const int aRowPos, const int aRowCount, const int aColPos, const int aColCount, const Tmsxlsmessages::TSheetInfo &SheetInfo, const bool Forced, const System::TObject* dSheet);
	Word __fastcall ObjId(void);
};


class DELPHICLASS TEscherSplitMenuRecord;
class PASCALIMPLEMENTATION TEscherSplitMenuRecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
public:
	__fastcall TEscherSplitMenuRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
public:
	#pragma option push -w-inl
	/* TEscherDataRecord.Create */ inline __fastcall virtual TEscherSplitMenuRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent) : TEscherDataRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherSplitMenuRecord(void) { }
	#pragma option pop
	
};


struct TAbsoluteAnchorRect
{
	
public:
	int x1;
	int x2;
	int y1;
	int y2;
} ;

class PASCALIMPLEMENTATION TEscherClientAnchorRecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
private:
	Tmsuflxmessages::TClientAnchor *Anchor;
	TAbsoluteAnchorRect SaveRect;
	
public:
	__fastcall virtual TEscherClientAnchorRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall TEscherClientAnchorRecord(const Tmsuflxmessages::TClientAnchor &aAnchor, const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent, const System::TObject* sSheet);
	__fastcall virtual ~TEscherClientAnchorRecord(void);
	virtual void __fastcall ArrangeInsertRowsAndCols(const int aRowPos, const int aRowCount, const int aColPos, const int aColCount, const Tmsxlsmessages::TSheetInfo &SheetInfo, const bool Forced, const System::TObject* dSheet);
	bool __fastcall AllowCopy(const int FirstRow, const int LastRow, const int FirstCol, const int LastCol);
	bool __fastcall AllowDelete(const int FirstRow, const int LastRow, const int FirstCol, const int LastCol);
	virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
	int __fastcall Row(void);
	int __fastcall Col(void);
	Tmsuflxmessages::TClientAnchor __fastcall GetAnchor();
	void __fastcall SetAnchor(const Tmsuflxmessages::TClientAnchor &aAnchor, const System::TObject* sSheet);
	void __fastcall RestoreObjectCoords(const System::TObject* dSheet);
	void __fastcall SaveObjectCoords(const System::TObject* sSheet);
};


class DELPHICLASS TEscherBSERecord;
class PASCALIMPLEMENTATION TEscherBSERecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
public:
	int BStorePos;
	void __fastcall AddRef(void);
	void __fastcall Release(void);
	unsigned __fastcall References(void);
	virtual int __fastcall CompareRec(const TEscherRecord* aRecord);
	void __fastcall CopyFromData(const void * BSEHeader, const TEscherRecordHeader &BlipHeader, const Classes::TMemoryStream* BlipData);
	void __fastcall SaveGraphicToStream(const Classes::TStream* aData, /* out */ Tmsuflxmessages::TXlsImgTypes &aDataType);
public:
	#pragma option push -w-inl
	/* TEscherDataRecord.Create */ inline __fastcall virtual TEscherBSERecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent) : TEscherDataRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherBSERecord(void) { }
	#pragma option pop
	
};


#pragma pack(push,1)
struct TDg
{
	
public:
	unsigned ShapeCount;
	unsigned MaxSpId;
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct TDgg
{
	
public:
	unsigned MaxShapeId;
	unsigned FIDclCount;
	unsigned ShapesSaved;
	unsigned DwgSaved;
} ;
#pragma pack(pop)

typedef unsigned *PLongWord;

class PASCALIMPLEMENTATION TEscherSPRecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
public:
	unsigned *ShapeId;
	
protected:
	virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
	
public:
	__fastcall virtual TEscherSPRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall TEscherSPRecord(const unsigned Pre, const unsigned aShapeId, const unsigned Flags, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherSPRecord(void);
};


typedef DynamicArray<TEscherBSERecord* >  tmsUEscherRecords__22;

typedef DynamicArray<unsigned >  tmsUEscherRecords__32;

class PASCALIMPLEMENTATION TEscherOPTRecord : public TEscherDataRecord 
{
	typedef TEscherDataRecord inherited;
	
private:
	DynamicArray<TEscherBSERecord* >  BlipPtr;
	DynamicArray<unsigned >  BlipPos;
	WideString FShapeName;
	WideString __fastcall GetShapeName();
	int __fastcall AddImg(const Tmsuflxmessages::ByteArray Data, const Tmsuflxmessages::TXlsImgTypes DataType);
	
protected:
	virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
	
public:
	__fastcall virtual TEscherOPTRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall TEscherOPTRecord(const Tmsuflxmessages::ByteArray aPict, const Tmsuflxmessages::TXlsImgTypes aPicType, const WideString PicName, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall TEscherOPTRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent, const int Dummy);
	__fastcall TEscherOPTRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent, const int Dummy1, int Dummy2);
	__fastcall TEscherOPTRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
	__fastcall virtual ~TEscherOPTRecord(void);
	virtual void __fastcall AfterCreate(void);
	__property WideString ShapeName = {read=GetShapeName};
	virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
	int __fastcall Row(void);
	int __fastcall Col(void);
	Tmsuflxmessages::TClientAnchor __fastcall GetAnchor();
	void __fastcall SetAnchor(const Tmsuflxmessages::TClientAnchor &aAnchor, const System::TObject* sSheet);
	void __fastcall ChangeRef(const TEscherBSERecord* aBSE);
	void __fastcall ReplaceImg(const Tmsuflxmessages::ByteArray Data, const Tmsuflxmessages::TXlsImgTypes DataType);
	void __fastcall GetImageFromStream(const Classes::TStream* Data, /* out */ Tmsuflxmessages::TXlsImgTypes &DataType);
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Tmsuescherrecords */
using namespace Tmsuescherrecords;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Tmsuescherrecords

⌨️ 快捷键说明

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