CheckBox в StringGrid
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, StdCtrls;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
cell_x = 2;
cell_y = 2;
var
Form1: TForm1;
CheckBox1: TCheckBox;
implementation
{$R *.DFM}
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
r:trect;
begin
if(cell_x>=StringGrid1.LeftCol) and
(cell_x<=StringGrid1.LeftCol+StringGrid1.VisibleColCount) and
(cell_y>=StringGrid1.TopRow) and
(cell_x<=StringGrid1.TopRow+StringGrid1.VisibleRowCount) then
CheckBox1.Visible:=true
else
CheckBox1.Visible:=false;
if (acol=cell_x) and (arow=cell_y) then
begin
r:=stringgrid1.CellRect(cell_x,cell_y);
r.Left:=r.left+stringgrid1.left+2;
r.right:=r.right+stringgrid1.left+2;
r.top:=r.top+stringgrid1.top+2;
r.bottom:=r.bottom+stringgrid1.top+2;
CheckBox1.BoundsRect:=r;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CheckBox1:=TCheckBox.Create(form1);
CheckBox1.parent:=form1;
CheckBox1.Caption:='proba';
end;
end.
|
|