AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Nicht-modales Fenster verschwindet hinter Hauptfenster
Thema durchsuchen
Ansicht
Themen-Optionen

Nicht-modales Fenster verschwindet hinter Hauptfenster

Ein Thema von Codehunter · begonnen am 2. Jun 2010 · letzter Beitrag vom 2. Jun 2010
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Nicht-modales Fenster verschwindet hinter Hauptfenster

  Alt 2. Jun 2010, 07:36
Hallo!

Ich ärgere mich mal wieder mit einem der alten Probleme des Fenstermanagements bei Delphi 5 herum. Wenn aus dem Hauptfenster ein zweites Fenster mit .Show aufgerufen wird (nicht .ShowModal) und anschließend mit ALT-TAB zu einem anderen Programm und zurück gesprungen wird, so liegt das Hauptfenster im Vordergrund und das zuletzt geöffnete Fenster dahinter.

Mein Ansatz ist jetzt, das jeweils zuletzt geöffnete Fenster-Handle zu puffern und dann bei einer Rückkehr ins eigene Programm wieder in den Vordergrund zu bringen. Gibt es denn eine Windows-Message die ich abfangen kann wenn die eigene Anwendung über Taskleiste oder ALT-TAB wieder aktiviert wird?

Grüssle
Cody
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

Re: Nicht-modales Fenster verschwindet hinter Hauptfenster

  Alt 2. Jun 2010, 07:51
OnActivate des HauptForms? Das wird immer aufgerufen, wenn das Programm den Fokus wieder erhält. Und wenn das zweite Fenster aktiv ist, einfach im OnActivate: Fenster2.BringToFront?
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Nicht-modales Fenster verschwindet hinter Hauptfenster

  Alt 2. Jun 2010, 11:18
Das funktioniert so interessanterweise nicht da in dieser Konstellation OnActivate nicht beim Hauptfenster ausgelöst wird was im Vordergrund liegt sondern OnActivate vom Kindformular welches im Hintergrund liegt (sehr sinnig *gg*)

Aber du hast mich auf eine Idee gebracht: TApplication hat auch ein OnActivate, damit kann ich mein Vorhaben umsetzen.

PS: Grüssle aus LSZ nach MHL
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#4

Re: Nicht-modales Fenster verschwindet hinter Hauptfenster

  Alt 2. Jun 2010, 11:59
Ist es da nicht einfacher, im onactivate des zweiten fensters self.bringtofront auzfzurufen? Dan brauchst Du kein Fensterhandle puffern. Oder hab ich etwas falsch verstanden?
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Nicht-modales Fenster verschwindet hinter Hauptfenster

  Alt 2. Jun 2010, 12:12
Solange zum Zeitpunkt des Task-Wechsels nur ein Kindfenster offen war würde das funktionieren. Sobald aber mehr als ein Kindfenster offen war ist das Ergebnis, welches davon mit dem OnActivate kommt mehr oder weniger zufällig. Es kommt weder die Öffnungs- noch die Erstellungsreihenfolge zum tragen. Es ist wie gesagt ein altes Problem mit dem sich zu D5-Zeiten viele Coder rumgeschlagen haben. Ob das inzwischen bei neueren Versionen besser gelöst ist kann ich nicht sagen da mir solche "Kleinigkeiten" nie genug Anreiz waren, auf ein anderes Delphi umzusteigen
  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 13:14 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