AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

Ein Thema von Helmi · begonnen am 6. Okt 2006 · letzter Beitrag vom 6. Okt 2006
Antwort Antwort
Benutzerbild von Helmi
Helmi

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

Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 19: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
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#2

Re: Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 20:08
Verwende doch einfach CoolTrayIcon oder die Indies oder so.

Nein, war nur n Scherz!

Ich hab das Problem immer anders herum, das das Fenster in der Taskliste wieder erscheint.

Versuch mal ShowWindow(Application.Handle, sw_Show);
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

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

Re: Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 20:11
Was mir grad aufgefallen ist, dass die If-Abfrage "IsWindowVisible(Handle)" nicht immer true ist.

hab sie jetzt mal rausgeschmissen. Mal schauen was passiert...

[edit] Doppelte Verneinung entfernt! [/edit]
mfg
Helmi

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

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 20:43
Zitat von Helmi:
Was mir grad aufgefallen ist, dass nicht immer die If-Abfrage "IsWindowVisible(Handle)" nicht immer true ist.
Stimmt, bei mir ist sie oft False, aber das Fenster in der Taskbar ist sichtbar, da hilft dann nur das Fenster zu zeigen und neu zu verstecken.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

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

Re: Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 20:50
Zitat von Sunlight7:
Stimmt, bei mir ist sie oft False, aber das Fenster in der Taskbar ist sichtbar, da hilft dann nur das Fenster zu zeigen und neu zu verstecken.
Wobei ich mir überlegt hab, dass man die If-Abfrage wegfallen lassen kann.

Bei ShowMainForm will man ja neben der Form auch den TaskBar-Eintrag sehen und bei HideMainform will man nichts mehr sehen.
mfg
Helmi

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

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 21:12
Ich hab das Problem, bei meinem Player, da will ich nix i nder Task-Bar haben, aber wenn sich das Video Fenster öffnet steht das Programm (zwar selten aber nervend) in der Task-Bar.
Wenns immer der Fall wäre und IsWindowVisible True eräbe würde ich das ja verstehen, aber so?
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

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

Re: Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 21:32
versuch doch mal dort, wo du die mainform wieder anzeigst (Application.MainForm.Visible := true) doch den TaskBar-Eintrag nicht anzeigen zu lassen

Den Code zum verschwinden lassen bzw. anzeigen lassen des Taskbar-Eintrages hab ich von den Schweizern Link
mfg
Helmi

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

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#8

Re: Probleme mit Verstecken und Anzeigen von Taskbar-Eintrag

  Alt 6. Okt 2006, 21:54
Ne, das MainForm bleibt ja sichtbar, das Video und das Playlist Fenser werden versteckt und gezeigt.

Sehe mir den Link mal an, Danke.

Edit: Das mit ShowWindow & ShowWindowAsync hab ich schon mal probiert, half nix, egal bei welcher Windows Version.
Aber seis drum, ich hab mich schon daran gewöhnnt.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz