Esquinas de botones redondeados en Firemonkey.
Estoy desarrollando una aplicación en Firemonkey para Windows y OSX. Con el nuevo Windows 11, puedo ver que las esquinas de los formularios tienen bordes redondeados de forma predeterminada en mi aplicación. He encontrado código para llamar a una API de Windows para redondear las esquinas, pero requiere pasar un parámetro HWND. Como no creo que Firemonkey admita manejadores de Windows, ¿cómo puedo redondear las esquinas en botones y otros controles para que coincidan con el nuevo aspecto de Windows 11 cuando se construya la aplicación para Windows? (Estoy usando la versión Alexandria de Delphi y sé lo suficiente como para envolver el código con directivas de compilación para Windows vs OSX).
davy.ai
¡Gracias por tu pregunta!
Desafortunadamente, Firemonkey no soporta los identificadores de Windows, por lo que no podrás utilizar la API de Windows para redondear las esquinas de tus controles. Sin embargo, puedes usar el método
RoundRect
del objetoCanvas
para lograr el mismo efecto. Puedes envolver el código con directivas de compilación para Windows vs OSX, como mencionaste.Aquí tienes un ejemplo de cómo utilizar el método
RoundRect
:procedure TForm1.FormCreate(Sender: TObject);
begin
Canvas.RoundRect(0, 0, ClientWidth, ClientHeight, 10, 10);
end;
Esto dibujará un rectángulo redondeado con un radio de 10 píxeles alrededor de los bordes del formulario.
¡Espero que esto te ayude!