Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 20:15
Hallo,

ich hab mal ne Frage:

ich habe mir mal eine TrayIcon-Komponente geschrieben, in der zwei Proceduren sind:

Delphi-Quellcode:
procedure TTrayIcon.ShowMainForm;
begin
  with Application do
    begin
      //maximieren
      Restore;

      //WindowState überschreiben
      If MainForm.WindowState = wsMinimized then
        MainForm.WindowState := wsNormal;

      //Haupt-Form anzeigen
      MainForm.Show;

      //in den Vordergrund bringen
      SetForegroundWindow(MainForm.Handle);

      //Taskbar-Icon anzeigen
      If not IsWindowVisible(Handle) then
        ShowWindow(Handle, SW_SHOW);
    end;
end;

procedure TTrayIcon.HideMainForm;
begin
  with Application do
    begin
      //minimieren
      Minimize;

      //Haupt-Form verstecken
      MainForm.Hide;

      //Taskbar-Icon verstecken
      If IsWindowVisible(Handle) then
        ShowWindow(Handle, SW_HIDE);
    end;
end;
Mit "HideMainForm" kann man die MainForm verstecken und mit "ShowMainForm" die Form wieder anzeigen.

Wie man sieht, wird auch der TaskBar-Eintrag versteckt bzw. angezeigt.

Das funktioniert auch (eigentlich). Wenn das Programm aber eine längere Zeit nicht angezeigt wird (also nur das TrayIcon sichtbar ist), dann wird beim nächsten ShowMainForm nur die MainForm angezeigt, nicht der Taskbar-Eintrag.

Ich habe den Verdacht, dass es vielleicht was mit dem Bildschirmschoner oder ähnlichem zu tun hat.

Kann mir da jemand helfen?


Ach ja! Bitte keine Antworten wie: "Verwende doch einfach CoolTrayIcon oder die Indies oder so" - ich bleib bei meiner Compo
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat