Me gustaría colocar una imagen en una celda especifica de un drawgrid o de un stringgrid Es decir, el usuario selecciona una celda, y sobre esa celda aparecerá determinada imagen
1 Respuesta
Respuesta de gaunmanuel
0
0
gaunmanuel, Desarrollador de sistemas, delphi, SQL Interbase, Oracle
Bueno no hay manera sencilla de hacer eso... Hay 2 opciones: 1. La fácil, hay unos componentes llamados wwDBGrid, este ya te puede mostrar imágenes en el grid. 2. la imagen la tendrias que dibujar, en el evento DBGrid1DrawDataCell, este es un ejemplo de como poner una columna de otro color procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin { NOMBRE es el nombre del campo a pintar de otro color } { NOMBRE this the field name to paint in a diferent color } if Field.FieldName = 'NOMBRE' then (Sender as TDBGrid).Canvas.Font.Color := clRed; { En rojo / in red } (Sender as TDBGrid).Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Field.AsString); end; espero te sirva de algo... suerte
oka.. ¿y cómo se añaden las imágenes a los DBGrid?
Ok, por ahí el canvas debe tener alguna propiedad para dibujar una imagen así como el TextRect, debe tener algo para una imagen, entonces tu le pasarías el componente Image en su propiedad imagen y listo deberá dibujar. Es decir estoy suponiendo que la imagen ya la tienes en algún componente ya se DBImage o Image.