17th
Фев

Как сделать прозрачный edit?

Posted by Chas under Пост-обзор

чтобы картинку например под ним было видно…

ArtGrek:
нашел наконец то!
не остаеца ничего, кроме текста и курсора

Edit1.BordelStyle := bsNone;
Edit1.BevelEdges – все поставить False

implementation

{$R *.dfm}
 
Procedure TForm1.WMCtlColorEdit(var Message: TWMCtlColorStatic);
Begin
 IF Message.ChildWnd=Edit1.Handle then SetBkMode(Message.ChildDC,TRANSPARENT);
 inherited;
End;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
 SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not WS_CLIPCHILDREN);
 SetWindowLong(Edit1.Handle, GWL_EXSTYLE, GetWindowLong(Edit1.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
 Edit1.Brush.Style:=bsClear;
end;

procedure TForm1.Edit1Change(Sender: TObject);
Var
   R:TRect;
Begin
 R:=Edit1.BoundsRect;
 InvalidateRect(Handle,@R,False)
end;

end.

есть 2 минуса:
1) при выделении текста появляеца какоито фон, в области выделения
2) я много искал как все ето реализоваь, но не смог полностию понят
принцып как все ето работает, прозьба к опытным людям, расскажите,
ато не хочеца просто код вставлят, в часности, что за Message

тема на форуме

Похожие статьи