2010-08-10 8 views
7

Ich verwende den Borland C++ Builder. Ich habe eine Anwendung, wo ich möchte, dass das Hauptformular ausgeblendet wird, bis eine Schaltfläche auf einem anderen Formular gedrückt wird. Ich habe den Visible-Wert auf dem Hauptformular auf false gesetzt, aber es erscheint immer noch, wenn ich das Programm starte. Wer weiß was zu tun ist?Wie stelle ich meine MainForm so ein, dass sie ausgeblendet wird, wenn mein Programm startet?

+0

Ich weiß nicht, wie viel C++ Builder Abstracts Dinge, aber wenn es nicht der Fall ist und Sie haben eine WinMain(), dann suchen Sie nach einem 'ShowWindow' Anruf nach dem' CreateWindow' - Sie können das nennen SW_SHOWMINIMIZED o.ä. Wenn Sie WinMain nicht sehen können, müssen Sie in ihrem Framework nach dem WinMain suchen und sehen, wie Sie das ändern können. – Rup

Antwort

7

Werfen Sie einen Blick auf die TApplication ShowMainForm Eigenschaft.

Hier ist ein Beispiel basierend auf den Anweisungen in online help.

  1. die Hauptform Set Visible Eigenschaft auf false.

  2. Wählen Sie im Menü Projekt -> Quelltext anzeigen, um die Hauptprojektdatei anzuzeigen.

  3. Fügen Sie nach dem Aufruf von Application-> CreateForm und vor dem Aufruf von Application-> Run den folgenden Code hinzu.

    Anwendung-> ShowMainForm = false;

Sie sollten mit so etwas enden.

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

Vielen Dank! – Ben313

2

Es ist eine Demo, die mit C++ Builder kommt, das dies tut Es kann in demos \ cpp \ apps \ twoforms finden

"First" ist die Form, mit der Taste, die "Zweite"

zeigt

Der OnClick-Ereignishandler der Schaltfläche erstellt das neue Formular mit new und ruft dann ShowModal() auf. Sie können Show() nur verwenden, wenn es sich nicht um ein modales Formular handelt.