Guest --Carlos -- Postado Julho 19, 2007 Denunciar Share Postado Julho 19, 2007 aí galera, alguém sabe colocar uma figura de fundo num Grid/dbgrid? ou deixar ele transparente.Vlw ai pela ajuda!!!carlosjunior1983@hotmail.com Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest MEMO FUNCIONA Postado Julho 19, 2007 Denunciar Share Postado Julho 19, 2007 var BitmapImage : TBitmap;begin BitmapImage :=TBitmap.Create; BitmapImage.LoadFromFile('c:\logo.bmp'); memo1.brush.Bitmap:=TBitmap.Create; memo1.brush.Bitmap.LoadFromFile('c:\logo.bmp');este procedimento funciona para o memo, mas tem um problema, a partir do momento que você vai digitando a linha vai apagando a figura, então alguém sabe deixar o GRID/DBGRID transparente, mesmo todo preenchido, podendo aparecer o fundo?vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 HDELPHI Postado Julho 19, 2007 Denunciar Share Postado Julho 19, 2007 var BitmapImage : TBitmap;begin BitmapImage :=TBitmap.Create; BitmapImage.LoadFromFile('c:\logo.bmp'); memo1.brush.Bitmap:=TBitmap.Create; memo1.brush.Bitmap.LoadFromFile('c:\logo.bmp');este procedimento funciona para o memo, mas tem um problema, a partir do momento que você vai digitando a linha vai apagando a figura, então alguém sabe deixar o GRID/DBGRID transparente, mesmo todo preenchido, podendo aparecer o fundo?vlwCreio que este codigo vai ajudar a muitos colegas que estão querendo um dbgrid transparenteunit fTransparentGrid; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, Grids, DBGrids, ADODB, ExtCtrls; type TForm1 = class(TForm) ADOTable1: TADOTable; // ignorar se você não estiver usando componente ADO para acessar a tabela DataSource1: TDataSource; Image1: TImage; Panel1: TPanel; DBGrid1: TDBGrid; procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); var Text: string; Rct: TRect; begin Text := Field.AsString; Rct:= Rect; DBGrid1.Canvas.Brush.Color := clWhite; DBGrid1.Canvas.FillRect (Rct); BitBlt(DBGrid1.Canvas.handle, Rct.left, Rct.top, Rct.right - Rct.left, Rct.bottom - Rct.top, Image1.Canvas.Handle, Rct.left + DBGrid1.Left + Panel1.Left, Rct.Top + DBGrid1.Top + Panel1.Top, SRCCOPY); SetBkModE(DBGrid1.Canvas.Handle, TRANSPARENT); inc(Rct.Top ,2); inc(Rct.Left ,2); DBGrid1.Canvas.Font.Color := clBlack; DrawtextEx(DBGrid1.Canvas.Handle, PChar(Text), Length(Text), Rct, DT_WORDBREAK, nil); end; procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; Panel1.Perform(WM_SYSCOMMAND, $F012, SC_MOVE); Application.ProcessMessages; BitBlt(GetDc(Panel1.Handle), 0, 0, Panel1.Width, Panel1.Height, Image1.Canvas.Handle , Panel1.Left, Panel1.Top, SRCAND); DBGrid1.refresh; end; end.Epero ter ajudado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Carlos --
aí galera, alguém sabe colocar uma figura de fundo num Grid/dbgrid? ou deixar ele transparente.
Vlw ai pela ajuda!!!
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.