La propiedad "ofOverwritePrompt" para TSaveDialog no funciona cuando se usan estilos VCL en Delphi 10.1 Berlín

Crear una nueva aplicación de formularios VCL

En el formulario principal, agregue un botón T y un TSaveDialog

Establezca "ofOverwritePrompt" en True en las propiedades para SaveDialog1

Utilizar:

procedure TForm1.Button1Click(Sender: TObject);
begin
  SaveDialog1.Execute();
end;

Ejecute la aplicación Presione el botón para ejecutar el diálogo de guardar. Intenta guardar en un archivo que ya existe. Aparece un cuadro de mensaje si desea reemplazar el archivo. Presione cancelar. Todo bien hasta ahora. Cierra la aplicación.

Vaya a Proyecto / Opciones / Aplicación / Apariencia y seleccione un estilo Personalizado (por ejemplo, Amakrits). Establecer Amakrits como el estilo predeterminado.

Ejecute la aplicación como en el n. ° 5 anterior. Solo se mostrará una pequeña parte del cuadro de mensaje. Tendrá que presionar Enter para poder continuar.

(Usar un TFileSaveDialog dará el mismo resultado)

Si compilo y ejecuto la aplicación usando Delphi XE8, estará bien ya que la ventana de diálogo de guardar parece usar el estilo de ventanas predeterminado, incluso si se elige otro estilo.

Editar: tengo Windows 10 pro. Fuente compilada como win32 con Delphi 10.1 Berlin. El cuadro de mensaje de reemplazo está parcialmente oculto. Solo se muestra una pequeña parte superior izquierda, ver figura.

Y aquí está compilado con XE8 win32:

PD. Estoy usando el factor de escala predeterminado del 100%.

Compilar con win64 (Delphi 10.1 Berlin) parece estar bien:

Entonces, compilar en win32 no funciona para mí, pero lo hará en 64 bits. ¿Alguna pista?

Editar: Intentar con "GetSaveFileName (OFN)" tampoco me funcionará en win32 (win 64 está bien):

Respuestas a la pregunta(4)

Su respuesta a la pregunta