Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como pintar una grilla con un boton (https://www.clubdelphi.com/foros/showthread.php?t=79677)

Victorialerda 28-07-2012 21:47:37

como pintar una grilla con un boton
 
Hola, tenemos una grilla(dbgrid) en la cual cuando se selecione una fila, que atraves d un boton pinte esa fila seleccionada.
¿Alguna ayuda para este problema?
Muchas gracias.

Casimiro Notevi 28-07-2012 23:07:20

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

ecfisa 29-07-2012 01:57:16

Hola VictoriaLerda.

No está muy claro que es lo que queres realizar... Pero como para darte una idea, te pongo un ejemplo de como podrías activar/desactivar el pintado de la fila seleccionada mediante un TButton:
Código Delphi [-]
...
implementation

(* Activa/desactiva pintado de la fila seleccionada,
   aprovecho la propiedad Tag como bandera *)
procedure TForm1.btnOnOffClick(Sender: TObject);
begin
  btnOnOff.Tag:= Integer(not Boolean(btnOnOff.Tag));
  DBGrid1.Invalidate;
end;

(* Pinta la fila si btnOnOff.Tag = 1 (True) *)
type
  TDBGridEx = class(TDBGrid);

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if Boolean(btnOnOff.Tag) then
    with TDBGridEx(TDBGrid(Sender)) do
      if (DataLink.ActiveRecord+1 = Row)or(gdFocused in State)or(gdSelected in State) then
      begin
        Canvas.Brush.Color:= clMoneyGreen;
        DefaultDrawColumnCell(Rect,DataCol,Column,State);
      end;
end;

Saludos.


La franja horaria es GMT +2. Ahora son las 03:46:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi