No Delphi, é possível alterar o formato padrão de uma janela (form) para uma forma personalizada, como uma elipse. Isso pode ser útil para criar interfaces diferenciadas e modernas.
Passo a Passo
1. Ajuste as Propriedades do Form
Antes de aplicar a alteração de formato, configure as seguintes propriedades do Form:
-
BorderStyle → Defina como
bsNone
para remover a borda padrão. -
Position → Ajuste para
poScreenCenter
para manter os componentes centralizados.
2. Código para Criar um Form Elíptico
Agora, insira o seguinte código no evento OnCreate
do formulário:
procedure TForm1.FormCreate(Sender: TObject);
var
hR: THandle;
begin
{ Cria uma forma elíptica para o formulário }
hR := CreateEllipticRgn(0, 0, Width, Height);
SetWindowRgn(Handle, hR, True);
end;
3. Personalização Adicional
Caso queira criar um form em formato irregular, utilize a função CreatePolygonRgn
para definir uma região poligonal ao invés de uma elipse.
Exemplo de um form triangular:
procedure TForm1.FormCreate(Sender: TObject);
var
Points: array[0..2] of TPoint;
hR: THandle;
begin
{ Define os pontos do triângulo }
Points[0] := Point(Width div 2, 0); // Topo
Points[1] := Point(0, Height); // Canto inferior esquerdo
Points[2] := Point(Width, Height); // Canto inferior direito
{ Cria um form triangular }
hR := CreatePolygonRgn(Points, 3, WINDING);
SetWindowRgn(Handle, hR, True);
end;
Conclusão
Com poucas linhas de código, é possível criar forms com formatos personalizados no Delphi, deixando a interface mais moderna e interativa.