Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ModalForm minimieren (https://www.delphipraxis.net/93801-modalform-minimieren.html)

MasterEvil 11. Jun 2007 15:40


ModalForm minimieren
 
Hallo,

Bin immernoch am portieren von Delphi 6 nach Delphi 2007 und bin leider mal wieder auf ein Problem gestoßen.

Wieder Fensterhandling:
Hauptformular ruft modales Formular auf. Wenn man nun das modale Formular minimiert und noch andere Fenster auf dem Desktop offen hat (z.B. einen Browser), dann kommt der Browser in den Vordergrund ...
Warum?
Ich dachte erst, es lege an unseren eigenen Formulartypen, aber hab nun eine ganz frische Anwendung erstellt und dort passiert es ebenfalls.

Bei Delphi 6 behielt meine Anwendung den Focus.

Jemand eine Idee?

Gruß,
Steffen

MasterEvil 12. Jun 2007 09:42

Re: ModalForm minimieren
 
Keiner eine Idee?
Das Problem muss doch noch jemand haben ... :(

Mazel 12. Jun 2007 12:45

Re: ModalForm minimieren
 
Hallo,

du schreibst, dass das Problem bei Delphi 6 nicht vorhanden war. Ich nutzte Delphi 7 und da ist es aber genau so wie in Delphi 2007. Also seit Delphi 7 scheint es so zu sein.
Wenn ein modales Fenster im Vordegrund ist, dann hat nicht das Hauptformular den Fokus für die Anwendung sondern das modale. Wenn also das modale minimiert wird wird die Anwendung minimiert. Du kannst ja auch nicht, wenn ein modales Fenster vorne ist, die Anwendung über die Taskleiste die beenden.

Das wird wohl nicht anderes gehen.

Gruß
Mazel

MasterEvil 12. Jun 2007 15:15

Re: ModalForm minimieren
 
Hallo Mazel,

danke für deine Antwort. Du hast recht!
Es ist wirklich in Delphi 6 auch so, wir hatten das damals selbst "korrigiert" und diese Korrektur funktioniert nun nicht mehr.

Mir ist die Modal Problematik zwar klar. Aber vernünftig finde ich das Verhalten trotzdem nicht. Schließlich minimiert sich ja die restliche Anwendung nicht, sondern nur das eine Modal-Fenster.
Die restlichen Fenster verschwinden nur in den Hintergrund (wenn man noch andere Programme offen hat).

Mich persönlich irritiert das.

Versuche jedenfalls nun, unseren "Fix" wieder zum Laufen zu bringen. Bin bislang aber gescheitert.

Vorher sah es so aus:
Delphi-Quellcode:
procedure CBaseForm.WMSize(var Message: TWMSize);
begin
  inherited;
  if WindowState=wsMinimized then Self.BringToFront;
end;
Ich schätze, dass sich die Abarbeitungsreihenfolge geändert hat. Jedenfalls muss nach dem Aufruf noch etwas kommen, das ihn wieder in den Hintergrund schiebt.

Gruß,
Steffen

Mazel 12. Jun 2007 15:26

Re: ModalForm minimieren
 
Leider kann ich dir da nicht helfen. Der von dir genannte Code funktioniert zumindest in Delphi 7 auch noch, aber das bringt dir ja nun nichts. :(

Gruß
Mazel

MasterEvil 12. Jun 2007 15:35

Re: ModalForm minimieren
 
Ne, leider nicht ;)
Aber trotzdem danke!

MasterEvil 13. Jun 2007 09:40

Re: ModalForm minimieren
 
Habe zu diesem Thema eine neue Frage in diesem Thread gepostet.


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