Guest Carlosjunior Postado Julho 9, 2007 Denunciar Share Postado Julho 9, 2007 aí galera, alguém sabe colocar uma figura no fundo de um grid/dbgrid??qm saber favor enviar p mim por email carlosjunior1983@hotmail.com Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jonas -- Postado Julho 10, 2007 Denunciar Share Postado Julho 10, 2007 (editado) aí galera, alguém sabe colocar uma figura no fundo de um grid/dbgrid??qm saber favor enviar p mim por email carlosjunior1983@hotmail.comPara visualizar uma imagem em um DBGrid, você vai ter que criar um descendente dele que aceite essas figuras. Ocódigo está abaixo:unit DBPicGrd; interface uses DBGrids, DB, DBTables, Grids, WinTypes, Classes, Graphics; type TDBPicGrid = class (TDBGrid) protected procedure DrawDataCell(const Rect: TRect; Field: TField; State: TGridDrawState); override; public constructor Create (AOwner : TComponent); override; published property DefaultDrawing default False; end; procedure Register; implementation constructor TDBPicGrid.Create (AOwner : TComponent); begin inherited Create (AOwner); DefaultDrawing := False; end; procedure TDBPicGrid.DrawDataCell (const Rect: TRect; Field: TField; State: TGridDrawState); var bmp : TBitmap; begin with Canvas do begin FillRect(Rect); if Field is TGraphicField then try bmp := TBitmap.Create; bmp.Assign (Field); Draw (Rect.Left, Rect.Top, bmp); finally bmp.Free; end else TextOut (Rect.Left, Rect.Top, Field.Text); end; end; procedure Register; begin RegisterComponents ('Custom', [TDBPicGrid]); end; end. Editado Julho 10, 2007 por Micheus Adicionado o delimitador de código [code] [/code]. Lembre-se de utilizá-lo para melhor visualização Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Julho 10, 2007 Denunciar Share Postado Julho 10, 2007 aí galera, alguém sabe colocar uma figura no fundo de um grid/dbgrid??procedure TDBPicGrid.DrawDataCell (const Rect: TRect; Field: TField; State: TGridDrawState); var bmp : TBitmap; begin with Canvas do begin FillRect(Rect); if Field is TGraphicField then try bmp := TBitmap.Create; bmp.Assign (Field); Draw (Rect.Left, Rect.Top, bmp); finally bmp.Free; end else TextOut (Rect.Left, Rect.Top, Field.Text); end; end;Jonas, por esta parte do código você está sugerindo o desenho de uma imagem em uma coluna do DBGrid. Mas, pelo que o colega Carlosjunior postou (ele disse no fundo de um DBGrid), parece que o que ele quer mesmo é uma espécie de "marca d'água" no DBGrid. Isto é um pouquinho mais complexo - não lembro-me de ver um componente deste, com esta característica.Dica: Apenas a título de informação, o procedimento para desenho de uma imagem numa determinada coluna de um DBGrid não exige que tenha que ser criado um componente para este fim. Basta escrever o procedimento no evento OnDrawColumnCell (segundo o help, OnDrawDataCell é obsoleto - está mantido apenas para compatibilidade) e alterar a propriedade DefaultDraw para False.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Carlosjunior
aí galera, alguém sabe colocar uma figura no fundo de um grid/dbgrid??
qm saber favor enviar p mim por email
carlosjunior1983@hotmail.com
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.