Salut a tous
Je suis en train de développer une application de tchat sur réseau local. L'application est composée de 2 fiches, une fiche "accueil" et une fiche "client". La premiere fiche permet de se logger et de vérifier si le serveur permet la connection. Elle s'apparente à la fenetre de connection de MSN. La deuxième fiche permet l'envoi et la réception de messages ... Les deux fenetres ne peuvent pas être affichées en meme temps. En premier s'affiche la fiche accueil, puis quand on clique sur connecter, la fiche client s'affiche, et l'autre se masque. Quand je clique sur déconnecter, l'accueil s'affiche et l'autre se masque.
Mon probleme est le suivant : je voudrais que la fiche affichée se comporte comme si elle était la "MainForm" : c'est a dire que si on la réduit, elle se réduise, et que quand on la restaure, elle se restaure.
J'ai commencé par mettre la fiche "accueil" en fiche principale : j'affiche la deuxieme fiche en Show, et je masque la premiere. Sauf que si je réduit la fiche "Client", l'application n'est pas réduite ! En fait, il reste toujours la fiche "Accueil", mais invisible ...
J'aimerais aussi que la fiche Client ne soit pas créée au démarrage ... Donc je ne peux pas la définir comme fiche principale.
Enfin, j'ai trouvé une technique qui permet de changer la propriété MainForm qui est pourtant en lecture seule :
Avec ca, ca marche a peu près, mais je récupere des "Erreurs abstraites" qui me semblent liées à ca ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure SetAsMainForm(aForm:TForm); var P:Pointer; begin P := @Application.Mainform; Pointer(P^) := aForm; end;
Ma question est la suivante : comment faire une application avec 2 fiches, donc chacune se comporte comme si elle était la mainform ?
Merci d'avance
Partager