Bonjour, il semble qu'il y ait un bug avec les styles VCL, lors de l'ouverture d'une boite de dialogue Windows.
La boite de dialogue ne s'affiche pas correctement, seule une toute petite partie s'affiche

Exemple de test :
Dans un nouveau projet VCL, on applique un style,
on pose un bouton sur la fiche.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var
  ADialog: TSaveDialog;
begin
  ADialog := TSaveDialog.Create(Self);
  with ADialog do
  try
    Options := Options + [ofOverwritePrompt];
    {On sélectionne n'importe quel fichier existant et on clique sur Enregistrer pour faire apparaître le message : nom fichier existe déjà, voulez-vous le remplacer}
    Execute;
  finaly
    Free;
  end;
end;
En fait lors de la creation de la fenêtre de dialogue dans la procedure TSysDialogStyleHook.WndProc de Vcl.Systyles,
la largeur renvoyée par la propriété SysControl.Width est de 26 (FWidth)
et la hauteur renvoyée par la propriété SysControl.Height est de 49 (FHeight).
La fenêtre de dialogue est donc dimensionnée à cette taille à sa création par la procédure :
SetWindowPos(Handle, 0, 0, 0, FWidth + DFBW + 5, FHeight + DFBW + 5, SWP_NOMOVE or SWP_NOZORDER or SWP_FRAMECHANGED);