Announcement

Collapse
No announcement yet.

Panel nicht sichtbar nachdem Formular minimiert war

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

  • Panel nicht sichtbar nachdem Formular minimiert war

    Hey ho.

    Ich habe mal wieder ein nerviges Problem, bei dem ich leider nicht weiter komme.

    Ich habe ein Formular auf dem sich ein TListView befindet und über dem TListView
    wird dann aus einem Thread heraus mit Synchronize() ein Panel angezeigt.

    Das funktioniert alles super, solange das Formular die ganze Zeit sichtbar ist,
    bzw. solange das Formular geöffnet ist und im Hintergrund (nicht minimiert) läuft.

    Wenn ich das Formular nun aber minimiere (Application->OnMinimize = MinimizeToTray)
    und das Panel dann im Thread aufgerufen wird, während die Anwendung im Tray ist,
    wird das Panel nicht mehr angezeigt, wenn ich das Formular danach wieder anzeigen lasse.
    (Application->Restore() + Application->BringToFront())

    Wenn ich das Formular dann offen lasse und warte bis der Thread den Panel das nächste
    Mal anzeigen will, wird er leider auch nicht angezeigt, obwohl das Formular die ganze Zeit
    den Foks hatte...

    ---
    Ich habe bereits nach dem 'Application->Restore()' eine Abfrage eingebaut:
    Code:
    if (Panel->Visible)
    {
      Panel->BringToFront();
      Panel->Repaint();
      Panel->Show();
      // usw.
    }
    Hat aber alles nicht geklappt... das Panel wird aber nicht mehr angezeigt. =(
    (Obwohl die Abfrage aufgerufen wird... passiert aber nichts!)


    Ich hoffe jemand hat eine Idee.

  • #2
    Du solltest in deinem Thread abfragen
    ob das Panel Visible ist bevor du drann änderst.
    Genauso abfragen ob application nicht minimiert ist.
    Dein thread schreibt irgendwas irgenwo hin wenn kein
    fenster offen ist.
    Weißt du ob windows dein programm nicht ausgelagert hat.

    fred

    Comment

    Working...
    X