Announcement

Collapse
No announcement yet.

Anwendungsformular verstecken ???

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anwendungsformular verstecken ???

    Hallo,
    in einer Anwendung muss ich das Anwendungsfenster verstecken, da ich die Anwendung per Autostart im Hintergrung starten möchte (Stichwort TNA-Icon).

    Mein Problem ist, dass ich das verflixte Fenster einfach nicht verborgen halten kann.

    In einem Beispiel aus einem Delphi-Buch fand ich eine Lösung.Im CreateForm-Handler folgemde Zeile einfügen:

    ShowWindow(Handle,GW_OWNER),SW_HIDE);

    Funktioniert wohl in Delphi aber im C++-Builder mit Sicherheit nicht.

    Also versuchte ich im CreateForm folgendes:

    1. Aufruf von Hide()
    2. setzen der Formulareigenschaft Visible auf false.
    3 Manipulation des OnShow-Handlers des Formulars.

    Alles ohne Erfolg: Das Anwendungsformular prangt fett auf dem Bildschirm. Habe nen Button ins Formular eingebaut, in dessen handler Hide() auf das Formular aufgerufen wird. Wenn ich drauf klicke verschwindet das Formular ordnungsgemäss.

    Hat jemand eine Ahnung was ich falsch mache ?

    Vielen Dank im Voraus

    Jürgen

  • #2
    Wie wär's denn, wenn du erst gar kein Form erzeugst? Oder zumindest erst dann, wenn es gebraucht wird, z.B. wenn der Benutzer "Konfiguration" im Kontextmenü des Trayicons anklickt.
    <p>Außerdem kannst du mal in TApplication nach ShowMainForm (oder so ähnlich) suchen.
    <p>Ciao, Uli

    Comment


    • #3
      Die Application im Tray laufen lassen und kein Icon anzeigen??

      http://home.snafu.de/christian.marquardt/quickies.1/1_index.html#tra
      Christian

      Comment


      • #4
        Hi !!!

        wenn ich dich richtig verstanden habe willst du deine Anwendung
        komplett unsichtbar starten es gibt eine möglichkeit und zwar mußt in den Haupt Quelltext unter

        Application->CreateForm(__classid(TForm1), &Form1);

        schreiben Application->ShowMainForm = false; könnte im gesamten dann so aussehen :

        WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
        {
        try
        {
        Application->Initialize();
        Application->CreateForm(__classid(TForm1), &Form1);
        <B>Application->ShowMainForm = false;</B>
        Application->Run();
        }
        catch (Exception &exception)
        {
        Application->ShowException(&exception);
        }
        catch (...)
        {
        try
        {
        throw Exception("");
        }
        catch (Exception &exception)
        {
        Application->ShowException(&exception);
        }
        }
        return 0;
        }

        dann würde dein Programm unsichtbar starten !

        Comment

        Working...
        X