Ver Mensaje Individual
  #1  
Antiguo 26-10-2004
Carlos Arevalo Carlos Arevalo is offline
Miembro
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 111
Reputación: 24
Carlos Arevalo Va por buen camino
Cambiar el estado de un checkbox insertado en un grid.

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;
__________________
Carlos Arevalo
MSN Messenger: [email protected]
Responder Con Cita