Ver Mensaje Individual
  #6  
Antiguo 19-07-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
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); //Disminuye el tamaño del CheckBox 
    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; // quizás más bien un Repaint.... pero en fin.
  end; 
end;
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita