CGXAbstractControlFactory::InitializeGridComponents
virtual void InitializeGridComponents(CGXGridCore* pGrid);
pGrid
Pointer to the grid object.
Remarks
This method is called from each grid at initialization time (from OnGridInitialUpdate() to be more concrete). It instantiates concrete implementations for grid features and attaches the instantiated object to the grid. The grid will keep the object alive until the grid gets out of scope. When the grid is destructed all grid feature objects will be destroyed. This method instantiates objects that are used by particular grids (referred to by pGrid).
Here is how your override of InitializeGridComponents might look:
void CGXControlFactory::InitializeGridComponents(CGXGridCore* pGrid)
{
// InitializeGridComponents is called from CGXGridCore
// constructor. No window been created for the grid yet.
// m_pGridWnd is NULL.
// Do not use pGrid->m_pGridWnd!
pGrid;
// General grid components - enable them in the control
// factory so that all grids in your application behave
// similar. You can enable/disable the behavior for individual
// grid with CGXGridParam settings (e.g. EnableMoveRows,
// EnableSelection etc).
pGrid->ImplementFindReplace();// Find and Replace
pGrid->ImplementHideCells();// Hiding rows and columns
pGrid->ImplementAutoScroll();// AutoScrolling,
// SpeedScrolling
pGrid->ImplementResizeToFit();// Resize Cells to fit size
pGrid->ImplementUpdateHint();// Update Hint mechanism
pGrid->ImplementUndoRedo();// Undo and Redo
pGrid->ImplementGridSort();// Sorting rows or columns
pGrid->ImplementOldDrawing();// Old drawing (for backward
// compatibility)
pGrid->ImplementCoveredCells();// Covered Cells
pGrid->ImplementMergeCells();// Merge Cells
pGrid->ImplementFloatCells();// Floating Cells
pGrid->ImplementPrinting();// Printing
pGrid->ImplementUserSelectRange();// Select cell ranges with
// mouse or keyboard
pGrid->ImplementExcelLikeFrame();// Excel-like Selection Frame
pGrid->ImplementUserDragSelectRange();// Drag selected rows or
// columns with mouse
pGrid->ImplementUserResizeCells();// Resize rows or columns
// with mouse
pGrid->ImplementOptimizedUpdate();// Optimized update for
// inserting, moving and
// removing rows and columms
pGrid->ImplementMarkEditHeader();// Outline row and column
// header of current cell
pGrid->ImplementFreezeMenuHelper();// FreezeRows, UnfreezeRows
// (and ..Cols) methods
pGrid->ImplementDirectCopyMoveCells();// Direct copying, moving
// of cells within one grid
pGrid->ImplementTextDataExchange();// CSV text file and
// clipboard data exchange
pGrid->ImplementStyleDataExchange();// CGXStyle binary file and
// clipboard data exchange
pGrid->ImplementCutPaste();// Cut, Copy and Paste methods
pGrid->ImplementClearCells();// ClearCells method
#if _MFC_VER >= 0x0400
pGrid->ImplementToolTips();// Tool-tips
#endif
}