Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Problem - Min. to Sys-Tray mit MDIChildren! (https://www.delphipraxis.net/28657-problem-min-sys-tray-mit-mdichildren.html)

emploi 27. Aug 2004 14:39


Problem - Min. to Sys-Tray mit MDIChildren!
 
Hi!

Hab folgendes Problem:

Das eigentliche Minimieren des normalen Formulars in den System Tray funktioniert
dank der hilfe des Forums hier natürlich super. Leider hab ich jetzt ein MDI-Formular
mit 2 MDIChild Fenster. Wenn ich diese jetzt schließe funkioniert der Minimize in
den System Tray wieder ohne Probleme, wenn diese jedoch nicht geschlossen sind,
dann erstellt sich zwar das Icon im Tray und das HauptFormular wird auch versteckt,
aber es bleibt dennoch in der ProgrammLeiste. Wenn man es da anklickt
sieht es so aus als würde es sich maximieren, aber da es wohl versteckt ist
tut sich nix. Ist echt doof. Ich habe auch schon versucht an der Stelle
wo der Minimize Befehl abgefagen wird und Hide des Formulars aufgerufen wird
die MDI Children auch zu "hiden", was jedoch zu einer Exception führt, weil man
Untergeordnete Fenster wohl nicht verstecken kann.

:(

Könnt ihr mir da irgendwie helfen?

mfg emploi

semo 29. Aug 2006 11:13

Re: Problem - Min. to Sys-Tray mit MDIChildren!
 
ich habe genau das selbe problem....
jemand eine idee?

Muetze1 29. Aug 2006 18:55

Re: Problem - Min. to Sys-Tray mit MDIChildren!
 
So, habe das beschriebene Problem mit meinem Beispiel/Basisprojekt von meiner HP ausprobiert und ich kann den Fehler nicht nachvollziehen. Somit vergleicht mal was ihr denn anders habt als ich: TNA Projekt

semo 29. Aug 2006 19:05

Re: Problem - Min. to Sys-Tray mit MDIChildren!
 
also: setze mal bitte die property formstyle des mainform auf fsmdiform und
die des erzeugten kindfensters auf fsmdichild,
dann klappt das ganze auch nicht mehr....

Muetze1 30. Aug 2006 09:01

Re: Problem - Min. to Sys-Tray mit MDIChildren!
 
Zitat:

Zitat von computer-glossar.de
also: setze mal bitte die property formstyle des mainform auf fsmdiform und
die des erzeugten kindfensters auf fsmdichild,
dann klappt das ganze auch nicht mehr....

Genau das habe ich gestern gemacht und ausprobiert. Bei mir klappt dies einwandfrei...

Ich kann's nun nachvollziehen...

/EDIT: Ok, den Quellcode nun angepasst für MDI Applikationen. Nun sollte dies auch mit MDI klappen. Ich hänge das Projekt hier schonmal an und werde es heute Abend auf meiner Homepage updaten.

Voraussetzung damit es klappt: der MessageHandler muss in der MDIForm enthalten sein (also bei dem Projekt Form1). Wenn nicht, dann müsste man das ganze ein wenig umstellen.

neuste Version immer hier

semo 30. Aug 2006 13:19

Re: Problem - Min. to Sys-Tray mit MDIChildren!
 
was man auch einfach machen kann:

Delphi-Quellcode:
  protected
    procedure VisibleChanging; override;

....

procedure TMyForm.VisibleChanging;
begin
  // MDI-CHILD-TRICK: VisibleChanging löst nun keine Exception mehr
  //                  beim Umschalten des Visible-Status aus
  // nichts tun!!!
end;

Muetze1 30. Aug 2006 14:04

Re: Problem - Min. to Sys-Tray mit MDIChildren!
 
Die Lösung hinterlässt aber den App Eintrag auf der Taskbar...

Und mein Projekt ist ja nun für MDI und nicht-MDI gedacht, daher ist es schon ganz gut, dass alles in der einen Form ist.

Aber ich entnehme deinem Post dann auch, dass meine sowie deine kürzere Lösung funktioniert?

semo 30. Aug 2006 22:01

Re: Problem - Min. to Sys-Tray mit MDIChildren!
 
habe deine lösung egrade getestet und sie funktioniert auch.
vielen dank auf jeden fall.


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