www.pudn.com > mfcdraw.zip > AdvGrid.hpp
// Borland C++ Builder // Copyright (c) 1995, 1998 by Borland International // All rights reserved // (DO NOT EDIT: machine generated header) 'AdvGrid.pas' rev: 3.00 #ifndef AdvGridHPP #define AdvGridHPP #include#include #include #include #include #include #include #include "e:\vcl\EditBtn.hpp" #include "e:\vcl\Spin.hpp" #include #include "e:\vcl\match.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //-- user supplied ----------------------------------------------------------- namespace Advgrid { //-- type declarations ------------------------------------------------------- typedef bool tboolarray[257]; typedef tboolarray *pboolarray; class DELPHICLASS EAdvGridError; class PASCALIMPLEMENTATION EAdvGridError : public Sysutils::Exception { typedef Sysutils::Exception inherited; public: /* Exception.Create */ __fastcall EAdvGridError(const System::AnsiString Msg) : Sysutils::Exception( Msg) { } /* Exception.CreateFmt */ __fastcall EAdvGridError(const System::AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { } /* Exception.CreateRes */ __fastcall EAdvGridError(int Ident, Extended Dummy) : Sysutils::Exception( Ident, Dummy) { } /* Exception.CreateResFmt */ __fastcall EAdvGridError(int Ident, const System::TVarRec * Args, const int Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { } /* Exception.CreateHelp */ __fastcall EAdvGridError(const System::AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { } /* Exception.CreateFmtHelp */ __fastcall EAdvGridError(const System::AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext ) { } /* Exception.CreateResHelp */ __fastcall EAdvGridError(int Ident, int AHelpContext) : Sysutils::Exception( Ident, AHelpContext) { } /* Exception.CreateResFmtHelp */ __fastcall EAdvGridError(int Ident, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Ident, Args, Args_Size, AHelpContext) { } public: /* TObject.Destroy */ __fastcall virtual ~EAdvGridError(void) { } }; enum TEditorType { edNormal, edSpinEdit, edComboEdit, edComboList, edEditBtn, edCheckBox, edDateEdit, edTimeEdit }; typedef void __fastcall (__closure *TGetEditorTypeEvent)(System::TObject* Sender, int aCol, int aRow , TEditorType &aEditor); typedef void __fastcall (__closure *TEllipsClickEvent)(System::TObject* Sender, int aCol, int aRow, System::AnsiString &S); enum TSortStyle { ssAutomatic, ssAlphabetic, ssNumeric, ssDate, ssAlphaNoCase, ssAlphaCase, ssShortDateEU, ssShortDateUS, ssCustom, ssFinancial }; enum TPrintPosition { ppNone, ppTopLeft, ppTopRight, ppTopCenter, ppBottomLeft, ppBottomRight, ppBottomCenter }; enum TPrintBorders { pbNoborder, pbSingle, pbDouble }; enum TSortDirection { sdAscending, sdDescending }; enum TAdvanceDirection { adLeftRight, adTopBottom }; enum TIntelliPan { ipVertical, ipHorizontal, ipBoth }; typedef void __fastcall (__closure *TAutoInsertRowEvent)(System::TObject* Sender, int ARow); typedef void __fastcall (__closure *TAutoInsertColEvent)(System::TObject* Sender, int ACol); typedef void __fastcall (__closure *TAutoDeleteRowEvent)(System::TObject* Sender, int aRow); typedef void __fastcall (__closure *TClickSortEvent)(System::TObject* Sender, int aCol); typedef void __fastcall (__closure *TCanSortEvent)(System::TObject* Sender, int aCol, bool &dosort); typedef void __fastcall (__closure *TCustomCompareEvent)(System::TObject* Sender, System::AnsiString str1, System::AnsiString str2, int &res); typedef void __fastcall (__closure *TGridFormatEvent)(System::TObject* Sender, int ACol, TSortStyle &AStyle); typedef void __fastcall (__closure *TGridColorEvent)(System::TObject* Sender, int ARow, int ACol, Grids::TGridDrawState AState, Graphics::TBrush* ABrush, Graphics::TFont* AFont); typedef void __fastcall (__closure *TGridAlignEvent)(System::TObject* Sender, int ARow, int ACol, Classes::TAlignment &AAlignment); typedef void __fastcall (__closure *TGridHintEvent)(System::TObject* Sender, int Arow, int Acol, System::AnsiString &hintstr); typedef void __fastcall (__closure *TGridPrintPageEvent)(System::TObject* Sender, Graphics::TCanvas* Canvas, int pagenr, int pagexsize, int pageysize); typedef void __fastcall (__closure *TOnResizeEvent)(System::TObject* Sender); typedef void __fastcall (__closure *TClickCellEvent)(System::TObject* Sender, int Arow, int Acol); typedef void __fastcall (__closure *TDblClickCellEvent)(System::TObject* Sender, int Arow, int Acol) ; typedef void __fastcall (__closure *TCanEditCellEvent)(System::TObject* Sender, int Arow, int Acol, bool &canedit); typedef void __fastcall (__closure *TCellValidateEvent)(System::TObject* Sender, int Col, int Row, System::AnsiString &Value, bool &Valid); enum TFindParameters { fnMatchCase, fnMatchFull, fnMatchRegular, fnDirectionLeftRight }; enum TCellHAlign { haLeft, haRight, haCenter, haBeforeText, haAfterText }; enum TCellVAlign { vaTop, vaBottom, vaCenter, vaUnderText, vaAboveText }; enum TCellType { ctBitmap, ctIcon, ctNone, ctImageList, ctCheckBox }; typedef Set TFindParams; class DELPHICLASS TCellGraphic; class PASCALIMPLEMENTATION TCellGraphic : public System::TObject { typedef System::TObject inherited; public: TCellType CellType; Graphics::TBitmap* CellBitmap; Graphics::TIcon* CellIcon; TCellVAlign CellVAlign; TCellHAlign CellHAlign; int CellIndex; bool CellTransparent; bool CellBoolean; __fastcall TCellGraphic(void); __fastcall virtual ~TCellGraphic(void); void __fastcall SetBitmap(Graphics::TBitmap* abmp, bool transparent, TCellHAlign hal, TCellVAlign val ); void __fastcall SetImageIdx(int idx, TCellHAlign hal, TCellVAlign val); void __fastcall SetIcon(Graphics::TIcon* aicon, TCellHAlign hal, TCellVAlign val); void __fastcall SetCheckBox(bool val); }; class DELPHICLASS TSizeWhileTyping; class PASCALIMPLEMENTATION TSizeWhileTyping : public Classes::TPersistent { typedef Classes::TPersistent inherited; private: bool FHeight; bool FWidth; public: __fastcall TSizeWhileTyping(void); __fastcall virtual ~TSizeWhileTyping(void); __published: __property bool Height = {read=FHeight, write=FHeight, nodefault}; __property bool Width = {read=FWidth, write=FWidth, nodefault}; }; class DELPHICLASS TMouseActions; class PASCALIMPLEMENTATION TMouseActions : public Classes::TPersistent { typedef Classes::TPersistent inherited; private: bool FColSelect; bool FRowSelect; bool FAllSelect; bool FCaretPositioning; public: __fastcall TMouseActions(void); __fastcall virtual ~TMouseActions(void); __published: __property bool AllSelect = {read=FAllSelect, write=FAllSelect, nodefault}; __property bool ColSelect = {read=FColSelect, write=FColSelect, nodefault}; __property bool RowSelect = {read=FRowSelect, write=FRowSelect, nodefault}; __property bool CaretPositioning = {read=FCaretPositioning, write=FCaretPositioning, nodefault}; }; class DELPHICLASS TColumnSize; class PASCALIMPLEMENTATION TColumnSize : public Classes::TPersistent { typedef Classes::TPersistent inherited; private: bool FSave; System::AnsiString FKey; System::AnsiString FSection; bool FStretch; Classes::TComponent* Owner; void __fastcall SetStretch(bool value); public: __fastcall TColumnSize(Classes::TComponent* aOwner); __fastcall virtual ~TColumnSize(void); __published: __property bool Save = {read=FSave, write=FSave, nodefault}; __property System::AnsiString Key = {read=FKey, write=FKey}; __property System::AnsiString Section = {read=FSection, write=FSection}; __property bool Stretch = {read=FStretch, write=SetStretch, nodefault}; }; class DELPHICLASS TNavigation; class PASCALIMPLEMENTATION TNavigation : public Classes::TPersistent { typedef Classes::TPersistent inherited; private: bool FAllowInsertRow; bool FAllowDeleteRow; bool FAdvanceOnEnter; bool FAdvanceInsert; bool FAutoGotoWhenSorted; bool FAllowClipboardShortcuts; TAdvanceDirection FAdvanceDirection; bool FAdvanceAuto; void __fastcall SetAutoGoto(bool avalue); public: __fastcall TNavigation(void); __fastcall virtual ~TNavigation(void); __published: __property bool AllowInsertRow = {read=FAllowInsertRow, write=FAllowInsertRow, nodefault}; __property bool AllowDeleteRow = {read=FAllowDeleteRow, write=FAllowDeleteRow, nodefault}; __property bool AdvanceOnEnter = {read=FAdvanceOnEnter, write=FAdvanceOnEnter, nodefault}; __property bool AdvanceInsert = {read=FAdvanceInsert, write=FAdvanceInsert, nodefault}; __property bool AutoGotoWhenSorted = {read=FAutoGotoWhenSorted, write=SetAutoGoto, nodefault}; __property TAdvanceDirection AdvanceDirection = {read=FAdvanceDirection, write=FAdvanceDirection, nodefault }; __property bool AllowClipboardShortCuts = {read=FAllowClipboardShortcuts, write=FAllowClipboardShortcuts , nodefault}; __property bool AdvanceAuto = {read=FAdvanceAuto, write=FAdvanceAuto, nodefault}; }; class DELPHICLASS TPrintsettings; class PASCALIMPLEMENTATION TPrintsettings : public Classes::TPersistent { typedef Classes::TPersistent inherited; private: TPrintPosition FTime; TPrintPosition FDate; TPrintPosition FPageNr; TPrintPosition FTitle; Graphics::TFont* FFont; Graphics::TFont* FHeaderFont; Graphics::TFont* FFooterFont; TPrintBorders FBorders; System::AnsiString FTitleText; bool FCentered; bool FRepeatFixedRows; bool FRepeatFixedCols; int FFooterSize; int FHeaderSize; int FLeftSize; int FRightSize; int FColumnSpacing; TPrinterOrientation FOrientation; System::AnsiString FPagePrefix; int FFixedHeight; bool FUseFixedHeight; int FFixedWidth; bool FUseFixedWidth; void __fastcall SetPrintFont(Graphics::TFont* value); void __fastcall SetPrintHeaderFont(Graphics::TFont* value); void __fastcall SetPrintFooterFont(Graphics::TFont* value); public: __fastcall TPrintsettings(void); __fastcall virtual ~TPrintsettings(void); __published: __property int FooterSize = {read=FFooterSize, write=FFooterSize, nodefault}; __property int HeaderSize = {read=FHeaderSize, write=FHeaderSize, nodefault}; __property TPrintPosition Time = {read=FTime, write=FTime, nodefault}; __property TPrintPosition Date = {read=FDate, write=FDate, nodefault}; __property TPrintPosition PageNr = {read=FPageNr, write=FPageNr, nodefault}; __property TPrintPosition Title = {read=FTitle, write=FTitle, nodefault}; __property System::AnsiString TitleText = {read=FTitleText, write=FTitleText}; __property Graphics::TFont* Font = {read=FFont, write=SetPrintFont}; __property Graphics::TFont* HeaderFont = {read=FHeaderFont, write=SetPrintHeaderFont}; __property Graphics::TFont* FooterFont = {read=FFooterFont, write=SetPrintFooterFont}; __property TPrintBorders Borders = {read=FBorders, write=FBorders, nodefault}; __property bool Centered = {read=FCentered, write=FCentered, nodefault}; __property bool RepeatFixedRows = {read=FRepeatFixedRows, write=FRepeatFixedRows, nodefault}; __property bool RepeatFixedCols = {read=FRepeatFixedCols, write=FRepeatFixedCols, nodefault}; __property int LeftSize = {read=FLeftSize, write=FLeftSize, nodefault}; __property int RightSize = {read=FRightSize, write=FRightSize, nodefault}; __property int ColumnSpacing = {read=FColumnSpacing, write=FColumnSpacing, nodefault}; __property Printers::TPrinterOrientation Orientation = {read=FOrientation, write=FOrientation, nodefault }; __property System::AnsiString PagePrefix = {read=FPagePrefix, write=FPagePrefix}; __property int FixedWidth = {read=FFixedWidth, write=FFixedWidth, nodefault}; __property int FixedHeight = {read=FFixedHeight, write=FFixedHeight, nodefault}; __property bool UseFixedHeight = {read=FUseFixedHeight, write=FUseFixedHeight, nodefault}; __property bool UseFixedWidth = {read=FUseFixedWidth, write=FUseFixedWidth, nodefault}; }; class DELPHICLASS tGridCombo; class PASCALIMPLEMENTATION tGridCombo : public Stdctrls::TComboBox { typedef Stdctrls::TComboBox inherited; protected: DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift); DYNAMIC void __fastcall DoExit(void); public: /* TCustomComboBox.Create */ __fastcall virtual tGridCombo(Classes::TComponent* AOwner) : Stdctrls:: TComboBox(AOwner) { } /* TCustomComboBox.Destroy */ __fastcall virtual ~tGridCombo(void) { } public: /* TWinControl.CreateParented */ __fastcall tGridCombo(HWND ParentWindow) : Stdctrls::TComboBox(ParentWindow ) { } }; class DELPHICLASS tGridSpin; class PASCALIMPLEMENTATION tGridSpin : public Spin::TSpinEdit { typedef Spin::TSpinEdit inherited; protected: DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift); DYNAMIC void __fastcall DoExit(void); public: /* TSpinEdit.Create */ __fastcall virtual tGridSpin(Classes::TComponent* AOwner) : Spin::TSpinEdit( AOwner) { } /* TSpinEdit.Destroy */ __fastcall virtual ~tGridSpin(void) { } public: /* TWinControl.CreateParented */ __fastcall tGridSpin(HWND ParentWindow) : Spin::TSpinEdit(ParentWindow ) { } }; class DELPHICLASS tGridCheckBox; class PASCALIMPLEMENTATION tGridCheckBox : public Stdctrls::TCheckBox { typedef Stdctrls::TCheckBox inherited; private: HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Msg); protected: DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift); DYNAMIC void __fastcall DoExit(void); public: /* TCustomCheckBox.Create */ __fastcall virtual tGridCheckBox(Classes::TComponent* AOwner) : Stdctrls:: TCheckBox(AOwner) { } public: /* TWinControl.CreateParented */ __fastcall tGridCheckBox(HWND ParentWindow) : Stdctrls::TCheckBox( ParentWindow) { } /* TWinControl.Destroy */ __fastcall virtual ~tGridCheckBox(void) { } }; class DELPHICLASS tGridEditBtn; class PASCALIMPLEMENTATION tGridEditBtn : public Editbtn::TEditBtn { typedef Editbtn::TEditBtn inherited; protected: void __fastcall ExtClick(System::TObject* Sender); DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift); DYNAMIC void __fastcall DoExit(void); public: __fastcall tGridEditBtn(Classes::TComponent* aOwner); public: /* TEditBtn.Destroy */ __fastcall virtual ~tGridEditBtn(void) { } public: /* TWinControl.CreateParented */ __fastcall tGridEditBtn(HWND ParentWindow) : Editbtn::TEditBtn(ParentWindow ) { } }; class DELPHICLASS TAdvInplaceEdit; class PASCALIMPLEMENTATION TAdvInplaceEdit : public Grids::TInplaceEdit { typedef Grids::TInplaceEdit inherited; private: bool fvalign; bool fwordwrap; void __fastcall setvalign(bool value); void __fastcall setwordwrap(bool value); HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Msg); protected: virtual void __fastcall CreateParams(Controls::TCreateParams &Params); DYNAMIC void __fastcall KeyPress(char &Key); virtual void __fastcall UpdateContents(void); __published: __property bool valign = {read=fvalign, write=setvalign, nodefault}; __property bool wordwrap = {read=fwordwrap, write=setwordwrap, nodefault}; public: /* TInplaceEdit.Create */ __fastcall virtual TAdvInplaceEdit(Classes::TComponent* AOwner) : Grids:: TInplaceEdit(AOwner) { } public: /* TWinControl.CreateParented */ __fastcall TAdvInplaceEdit(HWND ParentWindow) : Grids::TInplaceEdit( ParentWindow) { } /* TWinControl.Destroy */ __fastcall virtual ~TAdvInplaceEdit(void) { } }; class DELPHICLASS TAdvStringGrid; class PASCALIMPLEMENTATION TAdvStringGrid : public Grids::TStringGrid { typedef Grids::TStringGrid inherited; private: int FSortColumn; bool FSortShow; TSortDirection FSortDirection; bool FAutoSize; bool FEnhTextSize; bool FSizeWithForm; bool FMultilinecells; bool FSortFixedCols; TGridColorEvent FOnGetCellColor; TGridColorEvent FOnGetCellPrintColor; TGridAlignEvent FOnGetAlignment; TGridFormatEvent FOnGetFormat; TGridHintEvent FOnGridHint; Forms::TShowHintEvent FOnShowHint; TAutoInsertRowEvent FOnAutoInsertRow; TAutoInsertColEvent FOnAutoInsertCol; TAutoDeleteRowEvent FOnAutoDeleteRow; TClickSortEvent FOnClickSort; TCanSortEvent FOnCanSort; TCustomCompareEvent FCustomCompare; TOnResizeEvent FOnResize; TGridPrintPageEvent FOnPrintPage; TClickCellEvent FOnClickCell; TDblClickCellEvent FOnDblClickCell; TCanEditCellEvent FOnCanEditCell; TCellValidateEvent FOnCellValidate; Graphics::TColor FHintColor; bool FHintShowCells; tagPOINT FLastHintPos; TPrintsettings* FPrintSettings; TNavigation* FNavigation; TColumnSize* FColumnSize; bool FScrollProportional; TSizeWhileTyping* FSizeWhileTyping; TMouseActions* FMouseActions; bool FVisiblecol[257]; int FNumHidden; bool FURLShow; bool FURLFull; Graphics::TColor FURLColor; Controls::TImageList* FGridImages; TIntelliPan FIntelliPan; int FFixedFooters; int FFixedRightCols; char FDelimiter; bool FEnableGraphics; bool FSaveFixedCells; bool FWordWrap; bool fModified; System::AnsiString fOldCellText; int fOldCol; int fOldRow; bool fOldModifiedValue; int fOldCursor; Grids::TGridRect fOldSelection; bool fEntered; int sortdir; int sortrow; tagPOINT searchcell; bool showhintassigned; bool resizeassigned; Grids::TGridRect fprintrect; TFindParams ffindparams; System::AnsiString cellcache; System::AnsiString searchcache; int zoomfactor; bool colchgflg; int wheelmsg; int wheelscrl; bool wheelpan; tagPOINT wheelpanpos; int wheeltimer; HICON prevcurs; Windows::TRect prevrect; TGetEditorTypeEvent FOnGetEditorType; TEllipsClickEvent FOnEllipsClick; tGridCombo* editcombo; tGridSpin* editspin; tGridCheckBox* editcheck; tGridEditBtn* editbtn; TEditorType editcontrol; void __fastcall HideEditControl(int acol, int arow); void __fastcall ShowEditControl(int acol, int arow); void __fastcall RestoreCache(void); virtual void __fastcall DrawCell(int ACol, int ARow, const Windows::TRect &ARect, Grids::TGridDrawState AState); void __fastcall SetAutoSize(bool aAutoSize); void __fastcall SetSortShow(bool aSortShow); void __fastcall SetSortColumn(int aSortColumn); void __fastcall BuildPage(Graphics::TCanvas* canvas, bool preview); int __fastcall Compare(int col, int arow1, int arow2); int __fastcall CompareLine(int col, int arow1, int arow2); bool __fastcall MatchCell(int col, int row); HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Msg); HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message); HIDESBASE MESSAGE void __fastcall WMKeyDown(Messages::TWMKey &Msg); void __fastcall ShowHintProc(System::AnsiString &HintStr, bool &CanShow, Forms::THintInfo &HintInfo ); void __fastcall Resize(System::TObject* Sender); void __fastcall SetInts(int ACol, int ARow, const int Value); int __fastcall GetInts(int ACol, int ARow); void __fastcall SetDates(int ACol, int ARow, const System::TDateTime Value); System::TDateTime __fastcall GetDates(int ACol, int ARow); void __fastcall PasteFunc(int arow, int acol); void __fastcall SetScrollPages(void); int __fastcall remapcol(int acol); void __fastcall setvisiblecol(int i, bool avalue); bool __fastcall getvisiblecol(int i); System::AnsiString __fastcall lftofile(System::AnsiString s); System::AnsiString __fastcall filetolf(System::AnsiString s); int __fastcall MaxLinesInGrid(void); int __fastcall MaxLinesInRow(int arow); int __fastcall MaxCharsInCol(int acol); int __fastcall GetCellTextSize(int col, int row); void __fastcall DrawIntelliFocusPoint(void); void __fastcall EraseIntelliFocusPoint(void); void __fastcall SetImages(Controls::TImageList* value); void __fastcall SetFixedFooters(int value); void __fastcall SetFixedRightCols(int value); void __fastcall SetWordWrap(bool value); void __fastcall InputFromCSV(bool insert, System::AnsiString Filename); public: int compares; int swaps; int prevsizex; int prevsizey; bool editmode; void __fastcall ClearComboString(void); void __fastcall AddComboString(System::AnsiString s); __fastcall virtual TAdvStringGrid(Classes::TComponent* aOwner); __fastcall virtual ~TAdvStringGrid(void); virtual void __fastcall ValidateCell(void); void __fastcall RemoveRows(int RowIndex, int RCount); void __fastcall InsertRows(int RowIndex, int RCount); void __fastcall RemoveCols(int ColIndex, int CCount); void __fastcall InsertCols(int ColIndex, int CCount); void __fastcall SwapColumns(int aCol1, int aCol2); void __fastcall HideColumn(int colindex); void __fastcall UnhideColumn(int colindex); bool __fastcall IsHiddenColumn(int colindex); void __fastcall HideSelection(void); void __fastcall UnHideSelection(void); HIDESBASE void __fastcall MoveRow(int FromIndex, int ToIndex); HIDESBASE void __fastcall MoveColumn(int FromIndex, int ToIndex); void __fastcall SwapRows(int aRow1, int aRow2); void __fastcall SortSwapRows(int aRow1, int aRow2); void __fastcall ClearRect(int aCol1, int aRow1, int aCol2, int aRow2); void __fastcall Clear(void); void __fastcall ClearRows(int RowIndex, int RCount); void __fastcall ClearCols(int ColIndex, int CCount); void __fastcall ClearNormalCells(void); bool __fastcall isCell(System::AnsiString SubStr, int &ACol, int &ARow); void __fastcall SaveToFile(System::AnsiString FileName); void __fastcall SaveToHTML(System::AnsiString FileName); void __fastcall SaveToASCII(System::AnsiString FileName); void __fastcall SaveToCSV(System::AnsiString fileName); void __fastcall AppendToCSV(System::AnsiString fileName); void __fastcall SaveToStream(Classes::TStream* stream); void __fastcall LoadFromFile(System::AnsiString FileName); void __fastcall LoadFromCSV(System::AnsiString FileName); void __fastcall LoadFromStream(Classes::TStream* stream); void __fastcall InsertFromCSV(System::AnsiString FileName); void __fastcall CutToClipboard(void); void __fastcall CopyToClipBoard(void); void __fastcall CopySelectionToClipboard(void); void __fastcall PasteFromClipboard(void); void __fastcall PasteSelectionFromClipboard(void); void __fastcall Zoom(int x); void __fastcall SaveToXLS(System::AnsiString Filename); void __fastcall LoadFromXLS(System::AnsiString Filename); double __fastcall CellToReal(int ACol, int ARow); void __fastcall AutoSizeColumns(const bool DoFixedCols, const int Padding); void __fastcall AutoSizeCol(const int ACol); void __fastcall StretchRightColumn(void); void __fastcall AutoNumberCol(const int ACol); void __fastcall BSort(void); void __fastcall QSort(void); void __fastcall Print(void); void __fastcall PrintRect(const Grids::TGridRect &gridrect); void __fastcall PrintPreview(Graphics::TCanvas* canvas, const Windows::TRect &displayrect); void __fastcall PrintPreviewRect(Graphics::TCanvas* canvas, const Windows::TRect &displayrect, const Grids::TGridRect &gridrect); void __fastcall SortByColumn(int col); void __fastcall QuickSort(int col, int left, int right); bool __fastcall SortLine(int col, int arow1, int arow2); int __fastcall Search(System::AnsiString s); tagPOINT __fastcall FindFirst(System::AnsiString s, TFindParams findparams); tagPOINT __fastcall FindNext(void); int __fastcall MapFontHeight(int pointsize); int __fastcall MapFontSize(int height); void __fastcall AddBitmap(int Acol, int Arow, Graphics::TBitmap* abmp, bool transparent, TCellHAlign hal, TCellVAlign val); void __fastcall RemoveBitmap(int Acol, int Arow); void __fastcall AddImageIdx(int Acol, int Arow, int Aidx, TCellHAlign hal, TCellVAlign val); void __fastcall RemoveImageIdx(int Acol, int Arow); bool __fastcall GetImageIdx(int Acol, int Arow, int &idx); void __fastcall AddIcon(int Acol, int Arow, Graphics::TIcon* aicon, TCellHAlign hal, TCellVAlign val ); void __fastcall RemoveIcon(int Acol, int Arow); void __fastcall AddCheckBox(int Acol, int Arow, bool state); void __fastcall RemoveCheckBox(int Acol, int Arow); bool __fastcall HasCheckBox(int Acol, int Arow); bool __fastcall GetCheckBoxState(int Acol, int Arow, bool &state); bool __fastcall SetCheckBoxState(int Acol, int Arow, bool state); bool __fastcall ToggleCheckBox(int Acol, int Arow); double __fastcall ColumnSum(int acol, int fromrow, int torow); __property int Ints[int ACol][int ARow] = {read=GetInts, write=SetInts}; __property System::TDateTime Dates[int ACol][int ARow] = {read=GetDates, write=SetDates}; __property char Delimiter = {read=FDelimiter, write=FDelimiter, nodefault}; __property bool SaveFixedCells = {read=FSaveFixedCells, write=FSaveFixedCells, nodefault}; protected: virtual Grids::TInplaceEdit* __fastcall CreateEditor(void); virtual bool __fastcall CanEditShow(void); DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y); DYNAMIC void __fastcall KeyPress(char &Key); virtual void __fastcall DestroyWnd(void); virtual void __fastcall CreateWnd(void); virtual void __fastcall Loaded(void); virtual bool __fastcall SelectCell(int ACol, int ARow); virtual void __fastcall WndProc(Messages::TMessage &Message); DYNAMIC void __fastcall SizeChanged(int OldColCount, int OldRowCount); DYNAMIC void __fastcall Click(void); DYNAMIC void __fastcall DoEnter(void); DYNAMIC void __fastcall DoExit(void); virtual void __fastcall InitValidate(void); virtual void __fastcall Paint(void); DYNAMIC System::AnsiString __fastcall GetEditText(int ACol, int ARow); DYNAMIC void __fastcall SetEditText(int ACol, int ARow, const System::AnsiString Value); DYNAMIC void __fastcall ColWidthsChanged(void); DYNAMIC void __fastcall RowHeightsChanged(void); DYNAMIC void __fastcall TopLeftChanged(void); virtual void __fastcall EllipsClick(void); __published: __property bool AutoSize = {read=FAutoSize, write=SetAutoSize, nodefault}; __property bool EnhTextSize = {read=FEnhTextSize, write=FEnhTextSize, nodefault}; __property bool SortFixedCols = {read=FSortFixedCols, write=FSortFixedCols, nodefault}; __property bool SizeWithForm = {read=FSizeWithForm, write=FSizeWithForm, nodefault}; __property bool Multilinecells = {read=FMultilinecells, write=FMultilinecells, nodefault}; __property TGridColorEvent OnGetCellColor = {read=FOnGetCellColor, write=FOnGetCellColor}; __property TGridColorEvent OnGetCellPrintColor = {read=FOnGetCellPrintColor, write=FOnGetCellPrintColor }; __property TGridAlignEvent OnGetAlignment = {read=FOnGetAlignment, write=FOnGetAlignment}; __property TGridFormatEvent OnGetFormat = {read=FOnGetFormat, write=FOnGetFormat}; __property TGridHintEvent OnGridHint = {read=FOnGridHint, write=FOnGridHint}; __property TGridPrintPageEvent OnPrintPage = {read=FOnPrintPage, write=FOnPrintPage}; __property TAutoInsertRowEvent OnAutoInsertRow = {read=FOnAutoInsertRow, write=FOnAutoInsertRow}; __property TAutoInsertColEvent OnAutoInsertCol = {read=FOnAutoInsertCol, write=FOnAutoInsertCol}; __property TAutoDeleteRowEvent OnAutoDeleteRow = {read=FOnAutoDeleteRow, write=FOnAutoDeleteRow}; __property TClickSortEvent OnClickSort = {read=FOnClickSort, write=FOnClickSort}; __property TCanSortEvent OnCanSort = {read=FOnCanSort, write=FOnCanSort}; __property TCustomCompareEvent OnCustomCompare = {read=FCustomCompare, write=FCustomCompare}; __property TClickCellEvent OnClickCell = {read=FOnClickCell, write=FOnClickCell}; __property TDblClickCellEvent OnDblClickCell = {read=FOnDblClickCell, write=FOnDblClickCell}; __property TCanEditCellEvent OnCanEditCell = {read=FOnCanEditCell, write=FOnCanEditCell}; __property TCellValidateEvent OnCellValidate = {read=FOnCellValidate, write=FOnCellValidate}; __property TSortDirection SortDirection = {read=FSortDirection, write=FSortDirection, nodefault}; __property TGetEditorTypeEvent OnGetEditorType = {read=FOnGetEditorType, write=FOnGetEditorType}; __property TEllipsClickEvent OnEllipsClick = {read=FOnEllipsClick, write=FOnEllipsClick}; __property bool SortShow = {read=FSortShow, write=SetSortShow, nodefault}; __property bool EnableGraphics = {read=FEnableGraphics, write=FEnableGraphics, nodefault}; __property int SortColumn = {read=FSortColumn, write=SetSortColumn, nodefault}; __property bool ScrollProportional = {read=FScrollProportional, write=FScrollProportional, nodefault }; __property Graphics::TColor HintColor = {read=FHintColor, write=FHintColor, nodefault}; __property TPrintsettings* PrintSettings = {read=FPrintSettings, write=FPrintSettings}; __property TNavigation* Navigation = {read=FNavigation, write=FNavigation}; __property TColumnSize* ColumnSize = {read=FColumnSize, write=FColumnSize}; __property TSizeWhileTyping* SizeWhileTyping = {read=FSizeWhileTyping, write=FSizeWhileTyping}; __property TMouseActions* MouseActions = {read=FMouseActions, write=FMouseActions}; __property Controls::TImageList* GridImages = {read=FGridImages, write=SetImages}; __property TIntelliPan IntelliPan = {read=FIntelliPan, write=FIntelliPan, nodefault}; __property Graphics::TColor URLColor = {read=FURLColor, write=FURLColor, nodefault}; __property bool URLShow = {read=FURLShow, write=FURLShow, nodefault}; __property bool URLFull = {read=FURLFull, write=FURLFull, nodefault}; __property int FixedFooters = {read=FFixedFooters, write=SetFixedFooters, nodefault}; __property int FixedRightCols = {read=FFixedRightCols, write=SetFixedRightCols, nodefault}; __property bool WordWrap = {read=FWordWrap, write=SetWordWrap, nodefault}; public: /* TWinControl.CreateParented */ __fastcall TAdvStringGrid(HWND ParentWindow) : Grids::TStringGrid( ParentWindow) { } }; //-- var, const, procedure --------------------------------------------------- #define maxcolumns (Word)(256) #define crURLcursor (Word)(8009) #define crHorzArr (Word)(8010) #define crVertArr (Word)(8011) #define crAsgCross (Word)(8012) #define LINEFEED (char)(13) #define MSH_MOUSEWHEEL "MSWHEEL_ROLLMSG" #define MOUSEZ_CLASSNAME "MouseZ" #define MOUSEZ_TITLE "Magellan MSWHEEL" #define MSH_WHEELSUPPORT "MSH_WHEELSUPPORT_MSG" #define MSH_SCROLL_LINES "MSH_SCROLL_LINES_MSG" #define SPI_SETWHEELSCROLLLINES (Byte)(105) #define MSH_WHEELMODULE_CLASS "MouseZ" #define MSH_WHEELMODULE_TITLE "Magellan MSWHEEL" extern PACKAGE void __fastcall Register(void); } /* namespace Advgrid */ #if !defined(NO_IMPLICIT_NAMESPACE_USE) using namespace Advgrid; #endif //-- end unit ---------------------------------------------------------------- #endif // AdvGrid