demo7.~pas

来自「《Delphi实用程序100例》配套书源码盘」· ~PAS 代码 · 共 65 行

~PAS
65
字号
unit demo7;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, DBTables;

type
  TForm1 = class(TForm)
    Query1: TQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if gdSelected in State then
    Exit;
  if Query1.RecNo mod 2 = 0 then
    DBGrid1.Canvas.Brush.Color := clInfoBk
  else
    DBGrid1.Canvas.Brush.Color := RGB(191, 255, 223);
    DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
    DBGrid1.Canvas.Pen.Color := $00C08000;
    DBGrid1.Canvas.MoveTo(Rect.Left, Rect.Bottom);
    DBGrid1.Canvas.LineTo(Rect.Right, Rect.Bottom);
    DBGrid1.Canvas.MoveTo(Rect.Right, Rect.Top);
    DBGrid1.Canvas.LineTo(Rect.Right, Rect.Bottom);

end;

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
  with DBGrid1.Canvas do
  begin
    Pen.Color := clBlue;
    MoveTo(Rect.Left, Rect.Bottom);
    LineTo(Rect.Right, Rect.Bottom);
    Pen.Color := clGreen;
    MoveTo(Rect.Right, Rect.Top);
    LineTo(Rect.Right, Rect.Bottom);
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?