delphi TEdit透明
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
edt1: TEdit;
procedure FormCreate(Sender: TObject);
private
fbmp: TBitmap;
fbsh: HBRUSH;
protected procedure WndProc(var Messages: TMessage); override;
public { Public declarations }
end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
fbmp := TBitmap.Create;
fbmp.LoadFromFile('c:\back1.bmp');
fbsh := CreatePatternBrush(fbmp.Handle);
end;
procedure TForm1.WndProc(var Messages: TMessage);
begin
inherited;
case Messages.Msg of
WM_CTLCOLOREDIT, WM_CTLCOLORSTATIC:
if (Messages.LParam=edt1.Handle) and(fbsh <> 0) then
begin
SetBkMode(Messages.WParam, TRANSPARENT);
Messages.Result := fbsh
end;
end;
end;
end.