OnDrawCell (Delphi)
Description
The following code uses the bitmaps in an image list component to draw the contents of each cell in a draw grid. It draws a focus rectangle around the cell that is focused. goDrawFocusSelect in the DrawGrid Options parameter must be True to set focus on a cell. The ImageList Draw method must be called after DrawFocusRect. The OnSelectCell event handler must implemented to return True.
Code
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
index: Integer;
begin
index := ARow * DrawGrid1.ColCount + ACol;
DrawGrid1.Canvas.Brush.Color := clWhite;
DrawGrid1.Canvas.FillRect(Rect);
if (gdFocused in State) then
begin
DrawGrid1.Canvas.DrawFocusRect(Rect);
Label1.Caption:= 'Cell ' + InttoStr(index) + ' has the focus.';
end;
ImageList1.Draw(DrawGrid1.Canvas,Rect.Left,Rect.Top,index, True);
end;
procedure TForm1.DrawGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
CanSelect:= True;
end;
Uses
- Vcl.Grids.TCustomDrawGrid.OnDrawCell ( fr | de | ja )
- Vcl.Grids.TCustomDrawGrid.OnSelectCell ( fr | de | ja )
- Vcl.Controls.TCustomControl.Canvas ( fr | de | ja )
- Vcl.Graphics.TCanvas.DrawFocusRect ( fr | de | ja )
- Vcl.ImgList.TCustomImageList.Draw ( fr | de | ja )
- Vcl.Grids.TCustomGrid.Options ( fr | de | ja )
- Vcl.Grids.TGridOptions ( fr | de | ja )