Il y a quelques semaines, un utilisateur a signalé que l'interface graphique de mon programme était rétrécie. Aujourd'hui j'ai démarré mon portable en mode multi-moniteur et j'ai pu reproduire le problème: au démarrage de Windows, la taille du formulaire principal était de 325x243 pixels au lieu de 648x700.Forme shrink au démarrage
Je n'ai pas une seule ligne de code qui contrôle la largeur/hauteur du formulaire. La position est définie comme ceci: MainForm.Position:= poDefault
. L'utilisateur ne peut pas redimensionner le formulaire (BorderStyle:= bsSingle
).
Qu'est-ce qui pourrait causer une telle bizarrerie? C'est la deuxième fois que je démarre mon ordinateur portable avec des moniteurs supplémentaires attachés. La première fois tout allait bien. Cela pourrait-il être lié à cette configuration à plusieurs moniteurs?
Si le compilateur ne génère aucun code lié à la taille de la forme, alors il est comme un code injecté par programme externe dans mon programme pour changer sa taille. C'est plausible. Il existe des programmes qui permettent de contrôler la répartition des fenêtres sur plusieurs moniteurs. J'en ai installé un mais il ne fonctionne pas au démarrage de Windows.
... et ce programme est appelé sous Windows. Lorsque vous avez ouvert la liste des valeurs 'MainForm.Position', vous avez vu trois valeurs par défaut différentes: la taille par défaut, la position par défaut et la taille et la position par défaut. Je ne peux que m'étonner de voir que tu n'as pas été curieux de savoir quelle est la différence entre eux. –