Order and save right now!
20% off with the 729824315 dicscount code for Ultimate Pack and any another product for Delphi from Greatis Programming! |
⤷ Get transparent form
If you want to create form with transparent background, then you should override Create and Resize methods of your Form.CombineRgn function is basic function for realisation of this idea.
constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
HorzScrollBar.Visible:=False;
VertScrollBar.Visible:=False;
NewWindowRgn;
end;
procedure TForm1.NewWindowRgn;
var
i, CoordX, CoordY: Integer;
FormRgn, NewRgn: THandle;
begin
CoordX:=(Width-ClientWidth) div 2;
CoordY:=Height-ClientHeight-4;
FormRgn:=CreateRectRgn(0, 0, Width, Height);
NewRgn:= CreateRectRgn(
CoordX,
CoordY,
CoordX+ClientWidth,
CoordY+ClientHeight);
CombineRgn(FormRgn, FormRgn, NewRgn, RGN_DIFF);
for i:= 0 to ControlCount -1 do
with Controls[i] do
begin
NewRgn:= CreateRectRgn(
CoordX + Left,
CoordY + Top,
CoordX + Left + Width,
CoordY + Top + Height);
CombineRgn(FormRgn, FormRgn, NewRgn, RGN_OR);
end;
SetWindowRgn(Handle, FormRgn, True);
end;
procedure TForm1.Resize;
begin
inherited;
NewWindowRgn;
end;
-
More for developers