Que tal amigos un saludo para todos la duda que tengo tiene que ver al agregar un tcheckbox a un grid anexo el codigo con el cual agrego el componente el problema es que no logro cambiarle el estado en tiempo de ejecucion me imagino que el problema esta en que el grid siempre esta repintando el objeto y yo no tengo ni idea de como resolver esto.
Gracias de antemano por la ayuda.
Código:
procedure TFormbancos.StringGridmovimientosDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var sCad:String;
i,n,xindex: integer;
conciliacheck: TCheckBox;
control: tcomponent;
begin
if ACol=7 then // voy a alinear a la derecha la 3ª columna
if ARow>0 then //No quiero alinear la línea de títulos
begin
conciliacheck := TCheckBox.Create(Self);
control:=findcomponent('conciliacheckx' + IntToStr(arow));
if control=nil then
begin
conciliacheck.Name := 'conciliacheckx' + IntToStr(arow);
conciliacheck.Caption :='';
if StringGridmovimientos.Cells[7,ARow]='F' then
conciliacheck.Checked := false
else
conciliacheck.Checked := true;
n:=0;
for i:=1 to acol do n:=n+StringGridmovimientos.ColWidths[i]+1;
conciliacheck.Left:=n;
n:=0;
for i:=1 to arow do n:=n+StringGridmovimientos.RowHeights[i]+1;
conciliacheck.Top:=n;
conciliacheck.Width:=13;
conciliacheck.Height:=13;
conciliacheck.Parent:=StringGridmovimientos;
end;
end;
end;