Ver Mensaje Individual
  #5  
Antiguo 13-04-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Aquí tienes código que utilizo para poner un DbCheckbox que inicialmente estará como no visible y conectado al campo de la tabla que pretendenmos modificar, sobra algo de código pero te lo pego tal cual. A la rejilla para mayor claridad le ha renombrado Reja.
Código Delphi [-]
procedure TfrConAlbaran.RejaColEnter(Sender: TObject);
begin

  if Estado = 2 then
  begin
    if Reja.Columns [Reja.SelectedIndex].
        Field = DmHH.AlbCobrado  then
      DbchkCobrado.Visible := True
    else
      DbchkCobrado.Visible := False;
  end;

end;



procedure TfrConAlbaran.RejaDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
   if DmHH.Albcobrado.Value = false then
   begin
   Reja.Canvas.Brush.Color :=clAqua;
   Reja.Canvas.Font.Color:=clRed;
   Reja.DefaultDrawColumnCell(Rect,Datacol,Column,State);
   end;

  if Estado = 2 then
  begin
    if (gdFocused in State) and
        (Column.Field = DmHH.AlbCobrado) then
      begin
        DbchkCobrado.SetBounds (
          Rect.Left + Reja.Left + 1,
          Rect.Top + Reja.Top + 1,
          Rect.Right - Rect.Left,
          Rect.Bottom - Rect.Top);
      end;
  end;

end;

procedure TfrConAlbaran.RejaKeyPress(Sender: TObject; var Key: Char);
begin
  if Estado = 2 then
  begin
    if DbchkCobrado.Visible and (Ord (Key) > 31) then
    begin
      Key := #0;
      DmHH.Alb.Edit;
      DbchkCobrado.Checked := not
        DbchkCobrado.Checked;
      DbchkCobrado.Field.AsBoolean :=
      DbchkCobrado.Checked;
      end;
    end;
end;


Una aclaración la variable estado la utilizo para saber si la fuente de datos está en modo edición o consulta antes de abrir la rejilla y segun que en el menú de la aplicación se elija consultas o modificar Estado es igual a 3 ó 2, puesto que el uno lo utilizo para las altas.
Un Saludo
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 13-04-2007 a las 17:59:54.
Responder Con Cita