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

📄 rm_grid.hpp

📁 这是一个功能强大
💻 HPP
📖 第 1 页 / 共 2 页
字号:
// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Rm_grid.pas' rev: 11.00

#ifndef Rm_gridHPP
#define Rm_gridHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit
#include <Mask.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <Rm_common.hpp>	// Pascal unit
#include <Rm_class.hpp>	// Pascal unit
#include <Rm_system.hpp>	// Pascal unit

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

namespace Rm_grid
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS ERMInvalidGridOperation;
class PASCALIMPLEMENTATION ERMInvalidGridOperation : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall ERMInvalidGridOperation(const AnsiString Msg) : Sysutils::Exception(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall ERMInvalidGridOperation(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall ERMInvalidGridOperation(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall ERMInvalidGridOperation(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall ERMInvalidGridOperation(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall ERMInvalidGridOperation(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall ERMInvalidGridOperation(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall ERMInvalidGridOperation(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~ERMInvalidGridOperation(void) { }
	#pragma option pop
	
};


typedef int __fastcall (__closure *TRMGetExtentsFunc)(int Index);

class DELPHICLASS TRMGridEx;
typedef void __fastcall (__closure *TRMAfterInsertRowEvent)(TRMGridEx* aGrid, int aRow);

typedef void __fastcall (__closure *TRMAfterDeleteRowEvent)(TRMGridEx* aGrid, int aRow);

typedef void __fastcall (__closure *TRMAfterChangeRowCountEvent)(TRMGridEx* aGrid, int aOldCount, int aNewCount);

class DELPHICLASS TRMCellInfo;
typedef void __fastcall (__closure *TRMBeforeChangeCellEvent)(TRMGridEx* aGrid, TRMCellInfo* aCell);

typedef void __fastcall (__closure *TRMFRowHeaderClickEvent)(System::TObject* Sender, int X, int Y);

typedef void __fastcall (__closure *TRMDropDownFieldEvent)(int aCol, int aRow);

typedef void __fastcall (__closure *TRMDropDownFieldClickEvent)(bool aDropDown, int X, int Y);

struct TRMGridAxisDrawInfo
{
	
public:
	int EffectiveLineWidth;
	int TitleBoundary;
	int FixedBoundary;
	int GridBoundary;
	int GridExtent;
	int LastFullVisibleCell;
	int FullVisBoundary;
	int FixedCellCount;
	int FirstGridCell;
	int GridCellCount;
	TRMGetExtentsFunc GetExtent;
} ;

struct TRMGridDrawInfo
{
	
public:
	TRMGridAxisDrawInfo Horz;
	TRMGridAxisDrawInfo Vert;
} ;

#pragma option push -b-
enum TRMGridState { rmgsNormal, rmgsSelecting, rmgsRowSizing, rmgsColSizing, rmgsRowMoving, rmgsColMoving, rmgsRowHeaderDblClick };
#pragma option pop

typedef TRMGridState TRMGridMovement;

#pragma option push -b-
enum TRMGridOption { rmgoFixedVertLine, rmgoFixedHorzLine, rmgoVertLine, rmgoHorzLine, rmgoRangeSelect, rmgoDrawFocusSelected, rmgoRowSizing, rmgoColSizing, rmgoRowMoving, rmgoColMoving, rmgoEditing, rmgoTabs, rmgoRowSelect, rmgoAlwaysShowEditor, rmgoThumbTracking };
#pragma option pop

typedef Set<TRMGridOption, rmgoFixedVertLine, rmgoThumbTracking>  TRMGridOptions;

#pragma option push -b-
enum RM_Grid__2 { rmgdSelected, rmgdFocused, rmgdFixed, rmgdTitled };
#pragma option pop

typedef Set<RM_Grid__2, rmgdSelected, rmgdTitled>  TRMGridDrawState;

#pragma option push -b-
enum RM_Grid__3 { rmsdLeft, rmsdRight, rmsdUp, rmsdDown };
#pragma option pop

typedef Set<RM_Grid__3, rmsdLeft, rmsdDown>  TRMGridScrollDirection;

typedef void __fastcall (__closure *TRMSelectCellEvent)(System::TObject* Sender, int ACol, int ARow, bool &CanSelect);

typedef void __fastcall (__closure *TRMDrawCellEvent)(System::TObject* Sender, int ACol, int ARow, const Types::TRect &Rect, TRMGridDrawState State);

class PASCALIMPLEMENTATION TRMCellInfo : public Rm_system::TRMPersistent 
{
	typedef Rm_system::TRMPersistent inherited;
	
private:
	bool FMutilCell;
	Graphics::TFont* FFont;
	bool FAutoWordBreak;
	Rm_class::TRMHAlign FHorizAlign;
	Rm_class::TRMVAlign FVertAlign;
	Rm_class::TRMView* FView;
	Rm_class::TRMReport* FParentReport;
	AnsiString __fastcall GetText();
	void __fastcall SetText(const AnsiString Value);
	Graphics::TColor __fastcall GetFillColor(void);
	void __fastcall SetFillColor(Graphics::TColor Value);
	Graphics::TFont* __fastcall GetFont(void);
	void __fastcall SetFont(Graphics::TFont* Value);
	bool __fastcall GetAutoWordBreak(void);
	void __fastcall SetAutowordBreak(bool Value);
	Rm_class::TRMHAlign __fastcall GetHorizAlign(void);
	void __fastcall SetHorizAlign(Rm_class::TRMHAlign Value);
	Rm_class::TRMVAlign __fastcall GetVertAlign(void);
	void __fastcall SetVertAlign(Rm_class::TRMVAlign Value);
	void __fastcall SetParentReport(Rm_class::TRMReport* Value);
	
protected:
	int FStartCol;
	int FStartRow;
	int FEndCol;
	int FEndRow;
	bool __fastcall CanEdit(void);
	__property Rm_class::TRMReport* ParentReport = {read=FParentReport, write=SetParentReport};
	
public:
	__fastcall virtual TRMCellInfo(void);
	__fastcall virtual ~TRMCellInfo(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	void __fastcall AssignFromCell(TRMCellInfo* Source);
	void __fastcall ReCreateView(Byte aObjectType, const AnsiString aClassName);
	
__published:
	__property int StartCol = {read=FStartCol, nodefault};
	__property int StartRow = {read=FStartRow, nodefault};
	__property int EndCol = {read=FEndCol, nodefault};
	__property int EndRow = {read=FEndRow, nodefault};
	__property bool MutilCell = {read=FMutilCell, write=FMutilCell, nodefault};
	__property Graphics::TColor FillColor = {read=GetFillColor, write=SetFillColor, nodefault};
	__property AnsiString Text = {read=GetText, write=SetText};
	__property Graphics::TFont* Font = {read=GetFont, write=SetFont};
	__property bool AutoWordBreak = {read=GetAutoWordBreak, write=SetAutowordBreak, nodefault};
	__property Rm_class::TRMHAlign HAlign = {read=GetHorizAlign, write=SetHorizAlign, nodefault};
	__property Rm_class::TRMVAlign VAlign = {read=GetVertAlign, write=SetVertAlign, nodefault};
	__property Rm_class::TRMView* View = {read=FView};
};


class DELPHICLASS TRMRowCell;
class PASCALIMPLEMENTATION TRMRowCell : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	Classes::TList* FList;
	TRMCellInfo* __fastcall GetItem(int Index);
	
public:
	__fastcall TRMRowCell(int ARow, int AColCount, TRMGridEx* AGrid);
	__fastcall virtual ~TRMRowCell(void);
	void __fastcall Clear(void);
	void __fastcall Add(int ARow, int ACol, TRMGridEx* AGrid);
	void __fastcall Delete(int Index);
	__property TRMCellInfo* Items[int Index] = {read=GetItem};
};


class DELPHICLASS TRMCells;
class PASCALIMPLEMENTATION TRMCells : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	Classes::TList* FList;
	TRMGridEx* FGrid;
	TRMRowCell* __fastcall GetItem(int Index);
	
public:
	__fastcall TRMCells(int AColCount, int ARowCount, TRMGridEx* AGrid);
	__fastcall virtual ~TRMCells(void);
	void __fastcall Clear(void);
	void __fastcall Add(int AIndex);
	void __fastcall Insert(int AIndex);
	void __fastcall Delete(int AIndex);
	__property TRMRowCell* Items[int Index] = {read=GetItem};
};


class DELPHICLASS TRMInplaceEdit;
class PASCALIMPLEMENTATION TRMInplaceEdit : public Mask::TCustomMaskEdit 
{
	typedef Mask::TCustomMaskEdit inherited;
	
private:
	AnsiString FTempText;
	TRMGridEx* FGrid;
	TRMCellInfo* FCell;
	int FClickTime;
	void __fastcall InternalMove(const Types::TRect &Loc, bool Redraw);
	HIDESBASE MESSAGE void __fastcall CMShowingChanged(Messages::TMessage &Message);
	MESSAGE void __fastcall WMGetDlgCode(Messages::TWMNoParams &Message);
	HIDESBASE MESSAGE void __fastcall WMPaste(void *Message);
	HIDESBASE MESSAGE void __fastcall WMCut(void *Message);
	MESSAGE void __fastcall WMClear(void *Message);
	
protected:
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	DYNAMIC void __fastcall DblClick(void);
	DYNAMIC bool __fastcall DoMouseWheel(Classes::TShiftState Shift, int WheelDelta, const Types::TPoint &MousePos);
	virtual bool __fastcall EditCanModify(void);
	DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
	DYNAMIC void __fastcall KeyPress(char &Key);
	DYNAMIC void __fastcall KeyUp(Word &Key, Classes::TShiftState Shift);
	virtual void __fastcall ValidateError(void);
	virtual void __fastcall BoundsChanged(void);
	virtual void __fastcall UpdateContents(void);
	virtual void __fastcall WndProc(Messages::TMessage &Message);
	
public:
	__fastcall virtual TRMInplaceEdit(Classes::TComponent* AOwner);
	__fastcall virtual ~TRMInplaceEdit(void);
	void __fastcall Deselect(void);
	HIDESBASE void __fastcall Hide(void);
	HIDESBASE void __fastcall Invalidate(void);
	void __fastcall Move(const Types::TRect &Loc);
	bool __fastcall PosEqual(const Types::TRect &Rect);
	HIDESBASE void __fastcall SetFocus(void);
	void __fastcall UpdateLoc(const Types::TRect &Loc);
	HIDESBASE bool __fastcall Visible(void);
	__property TRMGridEx* Grid = {read=FGrid, write=FGrid};
	__property TRMCellInfo* Cell = {read=FCell, write=FCell};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TRMInplaceEdit(HWND ParentWindow) : Mask::TCustomMaskEdit(ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TRMGridEx : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	bool FEditorMode;
	int FSaveLastNameIndex;
	bool FAutoDraw;
	#pragma pack(push,1)
	Types::TPoint FAnchor;
	#pragma pack(pop)
	Forms::TFormBorderStyle FBorderStyle;
	bool FCanEditModify;
	int FColCount;
	void *FColWidths;
	#pragma pack(push,1)
	Types::TPoint FCurrent;
	#pragma pack(pop)
	int FmmDefaultColWidth;
	int FmmDefaultRowHeight;
	int FFixedCols;
	int FFixedRows;
	Graphics::TColor FFixedColor;
	int FGridLineWidth;
	TRMGridOptions FOptions;
	int FRowCount;
	void *FRowHeights;
	Stdctrls::TScrollStyle FScrollBars;
	#pragma pack(push,1)
	Types::TPoint FTopLeft;

⌨️ 快捷键说明

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