[Overview][Constants][Types][Classes][Procedures and functions][Index] | Reference for unit 'Grids' (#lcl)

# TStringGrid

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TStringGrid - a specialised grid for displaying strings (text material) in a matrix of columns and rows

## Declaration

Source position: grids.pas line 1496

`type TStringGrid = class(TCustomStringGrid)`
`class procedure WSRegisterClass; override;` |  | WSRegisterClass - Register this Class for the current Widget Set
`public`
`property Modified;` |  | Whether or not the current cell has been Modified
`published`
`property Align;` |  | Used to align the control to the top, bottom, left or right of its client.
`property AlternateColor;` |  | The colour to be used for the background on alternate rows of the grid. Having alternate rows in different colours can make the grid easier to read.
`property Anchors;` |  | The set of anchor definitions for this control
`property AutoAdvance;` |  | Automatically advance down the grid on successive mouse clicks or presses of the ENTER or TAB key
`property AutoEdit;` |  | Whether the Edit mode is automatically entered when a cell is selected
`property AutoFillColumns;` |  | Automatically resize columns so they fill all grid's visible area
`property BiDiMode;`
`property BorderSpacing;` |  | Determines the border spacing for this control
`property BorderStyle;` |  | BorderStyle - none, or single
`property Color;` |  | Determine the colour for the current control
`property ColCount;` |  | Number of columns of the grid.
`property Columns;` |  | The properties of the columns in this grid
`property Constraints;`
`property DefaultColWidth;` |  | Default value for the width of newly created grid columns.
`property DefaultDrawing;` |  | Is the default drawing method to be used for this grid? Default is TRUE
`property DefaultRowHeight;` |  | Default value for the height of newly created grid rows.
`property DragCursor;` |  | DragCursor - the style of cursor to be used during the Drag process
`property DragKind;` |  | DragKind - what sort of dragging? Drag or Dock
`property DragMode;` |  | DragMode - whether manual or automatic
`property Enabled;` |  | Whether the control is Enabled (read/write). If not, it usually appears 'greyed-out'
`property ExtendedSelect;` |  | ExtendedSelect - the ability to select cells beyond the boundary of the visible part of the grid
`property FixedColor;` |  | The color for the fixed cells of the grid.
`property FixedCols;` |  | Number of the fixed columns of the grid (ie the columns containing title or identifier material, that don't get scrolled when the rest of the grid moves).
`property FixedRows;` |  | Number of the fixed rows of the grid (ie the rows containing title or identifier material, that don't get scrolled when the rest of the grid moves).
`property Flat;` |  | Is the cell to be displayed Flat, ie with no texturing or raised/lowered effect
`property Font;` |  |
`property GridLineWidth;` |  | Width (thickness) of GridLines
`property HeaderHotZones;` |  | HeaderHotZones - the header zones corresponding to the position of the mouse cursor
`property HeaderPushZones;` |  | HeaderPushZones - the zones of the header that have been pushed down (selected)
`property MouseWheelOption;`
`property Options;` |  | The options available for use in this grid
`property ParentBiDiMode;`
`property ParentColor;` |  | ParentColor - should the control have the same colour as the parent? Default is true
`property ParentFont;`
`property ParentShowHint;` |  | ParentShowHint - does the control adopt the same hinting behaviour as its parent? Default is true
`property PopupMenu;` |  | PopupMenu - a context-sensitive menu that pops up when the right mouse button is clicked over this control
`property RowCount;` |  | Number of rows in the grid
`property ScrollBars;` |  | The ScrollBars to be used with this grid
`property ShowHint;` |  | Flag to determine: Is hint to be displayed for this control?
`property TabOrder;` |  | The place this control occupies in the list of tabs
`property TabStop;` |  | Is the control in the sequence of controls accessed by successive presses of the Tab key?
`property TitleFont;` |  | The font to be used in the grid's title
`property TitleImageList;` |  | TitleImageList - the list of images to be used with the titles
`property TitleStyle;` |  | The style to be used for the grid's title
`property UseXORFeatures;` |  | UseXORFeatures: When True, the dotted focus rectangle is painted using the XOR raster operation
`property Visible;` |  | Visible - can the control be seen?
`property VisibleColCount;` |  | The number of visible columns
`property VisibleRowCount;` |  | The number of visible rows
`property OnBeforeSelection;` |  | OnBeforeSelection - event handler for use before a selection is made
`property OnChangeBounds;` |  | Event handler for a change in bounds of the control
`property OnCheckboxToggled;`
`property OnClick;` |  | Event Handler for mouse click
`property OnColRowDeleted;` |  | Event handler when a grid column or row is deleted
`property OnColRowExchanged;` |  | Event handler when a grid column or row has its position exchanged with another
`property OnColRowInserted;` |  | Event handler when a column or row is inserted into the grid
`property OnColRowMoved;` |  | Event handler when a grid column or row is moved
`property OnCompareCells;` |  | Event handler for comparing the contents of cells
`property OnContextPopup;` |  | Event handler to supply information when a context-sensitive pop-up menu is required
`property OnDragDrop;` |  | Event handler for the drop of a control onto this control.
`property OnDragOver;` |  | Event handler for the case when a control is dragged over another control
`property OnDblClick;` |  | Event Handle for mouse double-click
`property OnDrawCell;` |  | Event handler for drawing a cell
`property OnEditButtonClick;` |  | Event handler for when the Edit button is clicked
`property OnEditingDone;` |  | Event handler when editing is done
`property OnEndDock;` |  | Event handler for the end of a docking operation
`property OnEndDrag;` |  | Event handler for the end of a dragging process
`property OnEnter;` |  | OnEnter - event handler for when the mouse enters the control, and the control receives focus
`property OnExit;` |  | OnExit - event handler for when the mouse leaves the control and it loses focus
`property OnGetCheckboxState;`
`property OnGetEditMask;` |  | Event handler for finding the edit mask while editing a grid cell
`property OnGetEditText;` |  | Event handler for finding the text to be edited in a grid cell
`property OnHeaderClick;` |  | Event handler when a column or row header is clicked
`property OnHeaderSized;` |  | Event handler when a column or row header is re-sized
`property OnHeaderSizing;`
`property OnKeyDown;` |  | OnKeyDown - event handler for instance when key is down while control has focus
`property OnKeyPress;` |  | OnKeyPress - event controller for a key being pressed while the control has focus. To properly handle national chars use UTF8KeyPress instead.
`property OnKeyUp;` |  | OnKeyUp - event handler for instance when a key is up (not pressed) while the control has focus
`property OnMouseDown;` |  | Event handler for when a mouse button is pressed down
`property OnMouseEnter;`
`property OnMouseLeave;`
`property OnMouseMove;` |  | Event handler for mouse movement within the current control
`property OnMouseUp;` |  | Event handler for when the mouse button is released, ie "up"
`property OnMouseWheel;`
`property OnMouseWheelDown;` |  | OnMouseWheelDown - event handler for downward movement of mouse wheel
`property OnMouseWheelUp;` |  | OnMouseWheelUp - event handler for upward movement of mouse wheel
`property OnPickListSelect;` |  | Event handler for selecting an item from a picklist (eg drop-down list in TComboBox)
`property OnPrepareCanvas;` |  | Event handler to prepare the Canvas for drawing
`property OnResize;` |  | Event Handler for resize of control
`property OnSelectEditor;` |  | Event handler for selecting an editor
`property OnSelection;` |  | Event handler for when an area of a grid (one or a group of cells) is selected
`property OnSelectCell;` |  | Event handler when a grid cell is selected
`property OnSetCheckboxState;`
`property OnSetEditText;` |  | Event handler for storing the text that has been edited in a cell
`property OnShowHint;` |  | Event Handler when a hint needs to be shown
`property OnStartDock;` |  | Event handler for the start of a docking operation
`property OnStartDrag;` |  | Event handler for start of dragging operation
`property OnTopLeftChanged;` |  | Event handler when the top left cell is changed (ie the grid has been scrolled so that a different cell occupies top left)
`property OnUserCheckboxBitmap;`
`property OnUTF8KeyPress;` |  | UTF8KeyPress - event controller for a key being pressed while the control has focus.
`property OnValidateEntry;`
`end;`

## Inheritance

`TStringGrid` |  | TStringGrid - a specialised grid for displaying strings (text material) in a matrix of columns and rows
`TCustomStringGrid` |  | TCustomStringGrid - base class for TStringGrid
`TCustomDrawGrid` |  | TCustomDrawGrid - Base Class for drawn grids including TDrawGrid and TStringGrid
`TCustomGrid` |  | TCustomGrid - the base class for all grid controls
`TCustomControl` |  | TCustomControl - a base class for many window controls
`TWinControl`
`TControl`
`TLCLComponent` |  | TLCLComponent - base class for LCL components
`TComponent,IUnknown,IInterfaceComponentReference`
`TPersistent`
`TObject`

## See also

HowToUseGrids |  | How to use Grids including StringGrids, DrawGrids and DbGrids

The latest version of this document can be found at lazarus-ccr.sourceforge.net.