Есть ли способ округлить границы Delphi VCL Form? - PullRequest
3 голосов
/ 18 октября 2019

Я бы хотел, чтобы форма VCL имела закругленные углы, как на рисунке ниже:

rounded corners

(На данный момент тень не нужна, нужны только закругленные углы).

Я уже пробовал какой-то код, но изменений, похоже, нет ..

unit UMainWindow;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, 
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TFMainWindow = class(TForm)
  procedure FormCreate(Sender: TObject);
  end;

var
  FMainWindow: TFMainWindow;

implementation

procedure TFMainWindow.FormCreate(Sender: TObject);
var
  rgn: HRGN;
begin
  rgn := CreateRoundRectRgn(0, 0,ClientWidth,ClientHeight,40,40);
  SetWindowRgn(Handle, rgn, True);
end;

end.

И вот мой результат: not really rounded corners

...