许多现代应用程序具有不规则形状的形式。在Delphi中做到这一点的最佳方法是什么?是否可以在不使用任何第三方VCL的情况下执行此操作?

最佳答案

是可以的,您必须使用SetWindowRgn函数设置要绘制的新窗口区域。

试试这个代码

procedure TForm1.FormCreate(Sender: TObject);
var
  region:HRGN;
begin
  region := CreateRoundRectRgn(ClientRect.left, ClientRect.top, ClientRect.right, ClientRect.bottom, 15, 15);
  SetWindowRgn(Handle, region, true);
end;




检查这些链接以获取更多信息


Creating Shaped Forms(使用位图图像)
Is it possible to create forms with shapes other than the standard rectangular shape in Windows?(使用poligon)

关于delphi - 不规则形状的形式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3572342/

10-10 11:58