2010-08-10 6 views
7

J'utilise le constructeur Borland C++. J'ai une application où je veux que le formulaire principal soit caché jusqu'à ce qu'un bouton soit pressé sur un formulaire différent. J'ai mis la valeur Visible sur la mainform à false, mais elle apparaît quand je lance le programme. Quelqu'un sait quoi faire?Comment est-ce que je peux cacher mon MainForm quand mon programme commence?

+0

Je ne sais pas comment les résumés beaucoup de C++ Builder choses, mais si elle ne fonctionne pas et que vous avez un WinMain() puis regardez un 'appel ShowWindow' après la' CreateWindow' - vous pouvez appeler SW_SHOWMINIMIZED ou similaire. Si vous ne pouvez pas voir WinMain, vous devrez creuser dans leur cadre pour trouver le WinMain et voir comment vous pouvez changer cela. – Rup

Répondre

7

Regardez la propriété TApplication ShowMainForm. Voici un exemple basé sur les instructions du online help.

  1. Définir la principale forme visible sur false.

  2. Dans le menu, sélectionnez Projet -> Afficher la source pour afficher le fichier projet principal.

  3. Ajoutez le code suivant après l'appel à Application-> CreateForm et avant l'appel à Application-> Exécuter.

    Application-> ShowMainForm = false;

Vous devriez vous retrouver avec quelque chose comme ça.

try 
{ 
    Application->Initialize(); 
    Application->MainFormOnTaskBar = true; 
    Application->CreateForm(__classid(TMainForm), &MainForm); 
    // extra code to hide main form 
    Application->ShowMainForm = false; 
    Application->Run(); 
} 
+0

Merci beaucoup! – Ben313

2

Il y a une démo qui vient avec C++ Builder qui fait cela, il peut être trouvé dans les démos \ cpp \ apps \ twoforms

« First » est la forme avec le bouton qui indique « Second »

Le gestionnaire d'événement OnClick du bouton crée le nouveau formulaire avec new, puis appelle ShowModal() Vous pouvez utiliser simplement Show() s'il ne s'agit pas d'un formulaire modal.

Questions connexes