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.

posted @ 2019-04-16 18:50  山水游侠  阅读(656)  评论(0编辑  收藏  举报