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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
this->Position = poScreenCenter;
fait disparaître/Apparaître les fenêtres.

Auriez vous une idée/Astuce pour faire cela?