阅读量:1
在Delphi中绘制表格可以使用TStringGrid组件。下面是一个简单的示例代码:
在Delphi中创建一个新的VCL应用程序项目。
在窗体上拖放一个TStringGrid组件(位于"Standard"面板)。
双击StringGrid组件,进入StringGrid的事件编辑器。
在StringGrid的OnCreateCell事件中添加以下代码:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var grid: TStringGrid; begin grid := TStringGrid(Sender); grid.Canvas.Brush.Color := clWhite; // 设置单元格背景颜色 grid.Canvas.FillRect(Rect); grid.Canvas.Pen.Color := clBlack; // 设置单元格边框颜色 grid.Canvas.Rectangle(Rect); // 获取单元格文本 if (ARow >= 0) and (ACol >= 0) then grid.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, grid.Cells[ACol, ARow]); end;
- 在StringGrid的OnResize事件中添加以下代码:
procedure TForm1.StringGrid1Resize(Sender: TObject); begin StringGrid1.DefaultColWidth := StringGrid1.Width div StringGrid1.ColCount; StringGrid1.DefaultRowHeight := StringGrid1.Height div StringGrid1.RowCount; end;
上述代码中,我们使用了StringGrid的OnCreateCell事件来绘制每个单元格的背景颜色、边框和文本。在OnResize事件中,我们设置了每个单元格的默认宽度和高度,以使表格自适应窗体的大小。
现在你可以运行该应用程序,就可以看到一个可以绘制表格的Delphi窗体了。