Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Peinlich Peinlich... Fenster wiederherstellen ? (https://www.delphipraxis.net/122540-peinlich-peinlich-fenster-wiederherstellen.html)

DelphiPeter 17. Okt 2008 20:54


Peinlich Peinlich... Fenster wiederherstellen ?
 
Hallo!

es ist ja schon fast peinlich, aber ich muss nun doch mal nachfragen. Wenn ich ein Fenster minimiere, wie kann ich es denn dann wiederherstellen?

BringToFront
oder WindowState := wsNormal

Funktioniert nicht, das Formular wird zwar angezeigt, aber nicht in den Vordergrund gerückt. Also es versteckt sich hinter anderen Fenstern.

Was mach ich denn jetzt falsch? :-(

IceBube 17. Okt 2008 21:08

Re: Peinlich Peinlich... Fenster wiederherstellen ?
 
Delphi-Quellcode:
Application.Restore;
bzw.

Delphi-Quellcode:
Application.RestoreTopMosts;

lg

DelphiPeter 17. Okt 2008 21:17

Re: Peinlich Peinlich... Fenster wiederherstellen ?
 
Danke für deine Hilfe!

Ich scheine aber was falsch zu machen...

Delphi-Quellcode:
...
procedure TfmMain.WMSysCommand;
begin
  if (Msg.CmdType = SC_MINIMIZE) then begin
    // Fenster Minimieren
    if Running = false then begin
      fmMain.StaticIcon.Visible := true;
      fmMain.AniIcon.Visible := false;
      fmMain.AniIcon.Animate := false;
    end;
    if Running = true then begin
      fmMain.StaticIcon.Visible := false;
      fmMain.AniIcon.Visible := true;
      fmMain.AniIcon.Animate := true;
    end;

  end;
  DefaultHandler(Msg);
end;
...
Bei Doppelklick auf das TrayIcon...

Delphi-Quellcode:
...
  Application.RestoreTopMosts;
  if AniIcon.Visible then AniIcon.Visible := false;
  if StaticIcon.Visible then StaticIcon.Visible := false;
...
Und das Fenster kommt einfach nicht wieder "hoch" :-(

mirage228 17. Okt 2008 21:20

Re: Peinlich Peinlich... Fenster wiederherstellen ?
 
Probiere das mal:
Delphi-Quellcode:
if Windows.IsIconic(Application.Handle) then // ist minimiert
  ShowWindow(Application.Handle, SW_RESTORE);
Viele Grüße

DelphiPeter 17. Okt 2008 21:21

Re: Peinlich Peinlich... Fenster wiederherstellen ?
 
Hi David,

das funktioniert leider auch nicht.. kann das evtl. was mit dem TTrayIcon in Delphi 2009 zu tun haben?

Selbst das hier http://dn.codegear.com/article/33415 zeigt keine Wirkung?

Peter

IceBube 17. Okt 2008 22:09

Re: Peinlich Peinlich... Fenster wiederherstellen ?
 
So funktionierts:

Delphi-Quellcode:
Form1.Show; //Die Hauptform bzw. die Form die angezeigt werden soll aufrufren mit *.show
Application.Restore; /Dann Restore bzw. RestoreTopMosts...
Edit:
Komsich wie du das angehst (kenn ich nicht), ich mach es immer so:


Delphi-Quellcode:
//Ich nehme einen ApplicationsManager schreibe in das
//Ereigniss (onMinimize) einfach das...

TrayIcon1.Visible := True;
Form1.hide;

//Beim aufruf bei doubleClick bzw. Click
//schreib ich folgendes, wie oben erwähnt
TrayIcon1.Visible := FalsE;
Form1.show;
Application.Restore;
{Application.RestoreTopMosts}
//fertig

{Ich denke das ist vieeeel einfacher als deine procedure da oben^)
lg

DelphiPeter 17. Okt 2008 22:36

Re: Peinlich Peinlich... Fenster wiederherstellen ?
 
Ok, habe das fmMain.Hide nun ins Minimieren mit aufgenommen und mit exit die Funktion danach abgebrochen. Durch das einfache fmMain.Show und Application.Restore wird es nun endlich angezeigt.

Seltsame Geschichte, benutzte sonst immer ciaTrayIcon, damit gibts nie Probleme.

Na gut, dann vielen Dank für eure Hilfe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:44 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