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

📄 xcomps.hpp

📁 平板表格控件(带源码).
💻 HPP
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'xcomps.pas' rev: 6.00

#ifndef xcompsHPP
#define xcompsHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ExtCtrls.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <DBTables.hpp>	// Pascal unit
#include <Mask.hpp>	// Pascal unit
#include <Math.hpp>	// Pascal unit
#include <DB.hpp>	// Pascal unit
#include <DBGrids.hpp>	// Pascal unit
#include <DBCtrls.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Grids.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Xcomps
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TxDBNavigator;
class PASCALIMPLEMENTATION TxDBNavigator : public Dbctrls::TDBNavigator 
{
	typedef Dbctrls::TDBNavigator inherited;
	
private:
	bool __fastcall ReadBtnEnabled(Dbctrls::TNavigateBtn nb);
	void __fastcall SetBtnEnabled(Dbctrls::TNavigateBtn nb, bool Enabled);
	
public:
	__fastcall virtual TxDBNavigator(Classes::TComponent* AOwner);
	__property bool BtnEnabled[Dbctrls::TNavigateBtn nb] = {read=ReadBtnEnabled, write=SetBtnEnabled};
	
__published:
	__property Font ;
public:
	#pragma option push -w-inl
	/* TDBNavigator.Destroy */ inline __fastcall virtual ~TxDBNavigator(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TxDBNavigator(HWND ParentWindow) : Dbctrls::TDBNavigator(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS THeadTreeNode;
class DELPHICLASS TxDBGrid;
typedef void __fastcall (__closure *THeadTreeProc)(THeadTreeNode* node);

class PASCALIMPLEMENTATION THeadTreeNode : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	THeadTreeNode* Host;
	THeadTreeNode* Child;
	THeadTreeNode* Next;
	AnsiString Text;
	int Height;
	int Width;
	bool Drawed;
	__fastcall THeadTreeNode(void);
	__fastcall THeadTreeNode(AnsiString AText, int AHeight, int AWidth);
	__fastcall virtual ~THeadTreeNode(void);
	THeadTreeNode* __fastcall Add(THeadTreeNode* AAfter, AnsiString AText, int AHeight, int AWidth);
	THeadTreeNode* __fastcall AddChild(THeadTreeNode* ANode, AnsiString AText, int AHeight, int AWidth);
	bool __fastcall Find(THeadTreeNode* ANode);
	void __fastcall Union(THeadTreeNode* AFrom, THeadTreeNode* ATo, AnsiString AText, int AHeight);
	void __fastcall FreeAllChild(void);
	void __fastcall CreateFieldTree(TxDBGrid* AGrid);
	void __fastcall DoForAllNode(THeadTreeProc proc);
};


#pragma pack(push, 4)
struct LeafCol
{
	THeadTreeNode* FLeaf;
	Dbgrids::TColumn* FColumn;
} ;
#pragma pack(pop)

typedef LeafCol *PLeafCol;

typedef LeafCol TLeafCol[134217727];

typedef LeafCol *PTLeafCol;

typedef Variant xcomps__4[51];

typedef Variant xcomps__5[51];

class PASCALIMPLEMENTATION TxDBGrid : public Dbgrids::TDBGrid 
{
	typedef Dbgrids::TDBGrid inherited;
	
private:
	int FSelRow;
	int FTitleOffset;
	bool FNoAppend;
	Controls::TImageList* FIndicators;
	Graphics::TColor FLineColor;
	Graphics::TColor FSumColor;
	int FTopSumRows;
	int FBottomSumRows;
	AnsiString FSumFlag;
	Variant FOldValues[51];
	Variant FSumArray[51];
	Db::TFieldNotifyEvent FEventArray[51];
	Dbtables::TQuery* FMasterQuery;
	Db::TDataSetNotifyEvent FEventMasterScroll;
	Db::TDataSetNotifyEvent FEventBeforeDelete;
	Db::TDataSetNotifyEvent FEventBeforeCancel;
	Db::TDataSetNotifyEvent FEventAfterCancel;
	HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
	void __fastcall SetLineColor(Graphics::TColor clr);
	void __fastcall SetSumColor(Graphics::TColor clr);
	int __fastcall MaxRowCount(void);
	int __fastcall MaxRowHeight(void);
	int __fastcall IndexOfColumn(Db::TField* fld);
	AnsiString __fastcall IndexOfSumFlag(int ACol);
	void __fastcall SetSumFlag(int ACol, AnsiString flag);
	void __fastcall WriteSumFlag(AnsiString flag);
	double __fastcall GetSums(int idx);
	HIDESBASE bool __fastcall IsActiveControl(void);
	HIDESBASE int __fastcall FIndicatorOffset(void);
	
protected:
	int FTitleHeight;
	int FTitleLines;
	int FTitleHeightFull;
	bool FMarginText;
	int FVTitleMargin;
	int FHTitleMargin;
	bool FUseMultiTitle;
	DYNAMIC void __fastcall SizeChanged(int OldColCount, int OldRowCount);
	virtual void __fastcall Paint(void);
	virtual void __fastcall DrawCell(int ACol, int ARow, const Types::TRect &ARect, Grids::TGridDrawState AState);
	virtual void __fastcall LayoutChanged(void);
	virtual void __fastcall Scroll(int Distance);
	DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
	HIDESBASE void __fastcall UpdateRowCount(void);
	HIDESBASE void __fastcall UpdateActive(void);
	HIDESBASE void __fastcall UpdateScrollBar(void);
	virtual Grids::TInplaceEdit* __fastcall CreateEditor(void);
	void __fastcall OnFieldChange(Db::TField* Sender);
	virtual void __fastcall LinkActive(bool Value);
	DYNAMIC AnsiString __fastcall GetEditText(int ACol, int ARow);
	void __fastcall OnMasterScroll(Db::TDataSet* DataSet);
	void __fastcall OnBeforeDelete(Db::TDataSet* DataSet);
	void __fastcall OnBeforeCancel(Db::TDataSet* DataSet);
	void __fastcall OnAfterCancel(Db::TDataSet* DataSet);
	void __fastcall CalcSum(void);
	AnsiString __fastcall FormatSum(const Variant &Value, Db::TField* AField);
	virtual void __fastcall DrawSumCell(int ACol);
	void __fastcall ClearPainted(THeadTreeNode* node);
	int __fastcall SetChildTreeHeight(THeadTreeNode* ANode);
	int __fastcall ReadTitleHeight(void);
	void __fastcall WriteTitleHeight(int th);
	int __fastcall ReadTitleLines(void);
	void __fastcall WriteTitleLines(int tl);
	void __fastcall WriteMarginText(bool IsMargin);
	void __fastcall WriteVTitleMargin(int Value);
	void __fastcall WriteHTitleMargin(int Value);
	void __fastcall WriteUseMultiTitle(bool Value);
	
public:
	THeadTreeNode* FHeadTree;
	LeafCol *FLeafFieldArr;
	__fastcall virtual TxDBGrid(Classes::TComponent* AOwner);
	__fastcall virtual ~TxDBGrid(void);
	__property double Sums[int idx] = {read=GetSums};
	
__published:
	__property int TitleHeight = {read=ReadTitleHeight, write=WriteTitleHeight, default=24};
	__property int TitleLines = {read=ReadTitleLines, write=WriteTitleLines, default=0};
	__property int VTitleMargin = {read=FVTitleMargin, write=WriteVTitleMargin, default=10};
	__property int HTitleMargin = {read=FHTitleMargin, write=WriteHTitleMargin, default=0};
	__property bool UseMultiTitle = {read=FUseMultiTitle, write=WriteUseMultiTitle, default=0};
	__property Graphics::TColor LineColor = {read=FLineColor, write=SetLineColor, nodefault};
	__property Graphics::TColor SumColor = {read=FSumColor, write=SetSumColor, nodefault};
	__property AnsiString SumFlag = {read=FSumFlag, write=WriteSumFlag};
	__property bool NoAppend = {read=FNoAppend, write=FNoAppend, nodefault};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TxDBGrid(HWND ParentWindow) : Dbgrids::TDBGrid(ParentWindow) { }
	#pragma option pop
	
};


typedef Set<char, 0, 255>  TCharSet;

//-- var, const, procedure ---------------------------------------------------
static const Shortint MaxField = 0x32;
extern PACKAGE void __fastcall Register(void);

}	/* namespace Xcomps */
using namespace Xcomps;
#pragma option pop	// -w-
#pragma option pop	// -Vx

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

⌨️ 快捷键说明

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