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.
En fait lors de la creation de la fenêtre de dialogue dans la procedure TSysDialogStyleHook.WndProc de Vcl.Systyles,
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;
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);
Partager