Bug avec les styles VCL Delphi Berlin 10.1
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:
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);