unit1.pas

来自「DELPHI7编程百例 DELPHI7编程百例 DELPHI7编程百例」· PAS 代码 · 共 64 行

PAS
64
字号
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ImageList1: TImageList;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table1: TTable;
    DBNavigator1: TDBNavigator;
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure Button1Click(Sender: TObject);
  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);
var
  Icon: TBitmap;
begin 
  Icon:=TBitmap.Create;
  if  (Column.FieldName='Area' ) then
  begin
    with  DBGrid1.Canvas do
    begin
      Brush.Color:=clWhite;
      FillRect(Rect);
      if (Table1.FieldByName('Area').Value>strtoint(Edit1.Text)) then
        ImageList1.GetBitmap(1,Icon)
      else
        ImageList1.GetBitmap(0,Icon);
      Draw(round((Rect.Left+Rect.Right-Icon.Width)/2),Rect.Top,Icon);
    end;
  end;
end; 


procedure TForm1.Button1Click(Sender: TObject);
begin
  DBGrid1.Repaint;
end;

end.
 

⌨️ 快捷键说明

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