PDA

Ver la Versión Completa : Mostrar campos imágenes en una rejilla???


burasu
03-11-2004, 11:46:44
Hola amigos, como están todos por ahí?? :D

Vereis, tengo una tabla en la que almaceno las banderas de los países para los que está configurada mi aplciación. Entonces en la pantalla de configuración quiero mostrar una rejilla en la que se muetre en una columna ese gráfico y en otra el idioma.

Todas las ayudas que veo siempre son cargando las imágenes sin acceder a las tablas. Como puedo cargar dichas imágenes en la rejilla???

frudolph
05-11-2004, 18:04:41
En el evento "OnDrawColumnCell" de la grilla (DBGrid) escribe más o menos lo que sigue:



procedure TForm1.DBGrid1DrawColumnCell(
Sender: TObject; const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState);
var
P: TPicture;
begin
P := TPicture.Create;
try
with TDBGrid(Sender) do
// En la linea que sigue reemplaza "GRAPHIC" por tu nombre de campo
if not (gdFixed in State) and (UpperCase(Column.FieldName) = 'GRAPHIC') then
begin
Canvas.FillRect(Rect);
P.Assign(Column.Field);
if P.Graphic <> nil then Canvas.StretchDraw(Rect, P.Graphic)
end;
finally
P.Free;
end;

burasu
05-11-2004, 21:57:55
Gracias Frudolph, lo probaré y ya comentaré,