Aunque la verdad, no creo que haya que complicarse tanto la vida por tan poca cosa:
Código Delphi
[-]procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
Check: Integer;
R: TRect;
begin
if Column.FieldName = 'NombreCampo' then
begin
DBGrid1.Canvas.FillRect(Rect);
Check := 0;
if Table1.FindField('NombreCampo').AsInteger = 1 then Check := DFCS_CHECKED;
R:=Rect;
InflateRect(R,-2,-2); DrawFrameControl(DBGrid1.Canvas.Handle,R,DFC_BUTTON, DFCS_BUTTONCHECK or Check);
end;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if Column.FieldName = 'NombreCampo' then
begin
Table1.Edit;
if Table1.FindField('NombreCampo').AsInteger = 1 then
Table1.FindField('NombreCampo').AsInteger := 0
else
Table1.FindField('NombreCampo').AsInteger := 1
Table1.Post;
Dbgrid1.Refresh; end;
end;