Bonjour,
je développe avec Borland Builder C++. Je souhaiterais faire en sorte qu'à chaque fois qu'une certaine fenêtre s'ouvre celle ci soit automatiquement recentré. Je dit bien s'ouvre et non pas est créée.
J'ai tenté de faire :
this->Position = poScreenCenter;
dans la fonction OnShow mais lorsque le code passe par la il me dit qu'il n'est pas possible d'afficher/de cacher la fenêtre dans la fonction onShow.
Alors que je lui demande juste de changer la position ni d'afficher ou de cacher.
Ensuite j'ai essayer de mettre cette fonction dans la méthode static GetModuleForm qui met en place mon singleton :
1 2 3 4 5 6 7
| TMaFenetre * TMaFenetre ::GetModuleForm(TForm* p_fen)
{
if( MaFenetre == NULL)
MaFenetre =new TMaFenetre (p_fen);
MaFenetre ->Position = poScreenCenter;
return MaFenetre ;
} |
mais celle-ci est aussi appelé ailleurs pour voir si des données on changé. ce qui fait clignoter ma fenetre. J'ai donc effectivement l'impression que le fait d'appeler :
this->Position = poScreenCenter;
fait disparaître/Apparaître les fenêtres.
Auriez vous une idée/Astuce pour faire cela?
Partager