Ver Mensaje Individual
  #5  
Antiguo 26-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
El efecto de barrido o parpadeo ocurre porque, en Windows, los controles necesitan ser "repintados" cada dos por tres debido a ciertas acciones (una ventana es arrastrada o una ventana tapa a otra, etc.).

La mejor solución es la que te dio Lepe si lo quieres hacer por código, si no es mejor definir las columnas por diseño.

Hacer la función es fácil, podrías, por ejemplo, añadir un método al formulario que contiene el DBGrid para que actualice las columnas:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    DBGrid1: TDBGrid;
    ...
    procedure Button1Click(Sender: TObject);
  private
    procedure ActualizarGrid; // Método que actualiza el DBGrid
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ActualizarGrid;
begin
  with DBGrid1 do
  begin
    DataSource:= ds1;
    Options:=[dgRowSelect,dgTitles,dgConfirmDelete,dgCancelOnExit]; 
    Ctl3D:= False;

    //Configuracion de Titulos...
    FixedColor:= clYellow;
    Color:=clBlack;
    TitleFont.Name:= 'Arial';
    TitleFont.Size:= 10;
    TitleFont.Style:=[fsBold];

    //Configuracion de ancho fijo de columnas...
    Columns[0].Width:=100;  //Columna-> Tipo de Evento
    Columns[1].Width:=140;  //Columna-> Fecha y Hora
    Columns[2].Width:=200;  //Columna-> Descripción Evento
    Columns[3].Width:=80;   //Columna-> Usuario

    //Configuracion de datos...
    Font.Name:= 'Tahoma';  //Tipo letra datos
    Font.Color:= clYellow; //Color letra datos

    Columns[0].Font.Name:= 'Webdings';
    Columns[0].Font.Size:= 30;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Ejecutas la consulta
  ...

  ActualizarGrid; // Lo llamamos siempre que sea necesario actualizar el DBGrid
end;

end.
Responder Con Cita