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/)
-   -   Hauptfenster von VCL-Anwendung kommt nicht in Vordergrund (https://www.delphipraxis.net/166753-hauptfenster-von-vcl-anwendung-kommt-nicht-vordergrund.html)

Rene2 28. Feb 2012 09:31

Hauptfenster von VCL-Anwendung kommt nicht in Vordergrund
 
Bei meiner VCL-Anwendung kommt das Hauptfenster beim Anklicken nicht in den Vordergrund (Delphi-2009 und Delphi-XE). Beim alten Delphi-2006 tut es das aber wie erwartet.

Zur Demonstration des Effektes kann man einfach eine Anwendung mit zwei Fenstern also MainForm (Form1) und ein zweites Fenster (Form2) erstellen. Das Form2 öffne ich aus Form1 heraus mit Form2.Show. Beide Fenster sind auf FormStyle = fsNormal gesetzt. Alle Paramer haben Default-Einstellung. Das Form2 verhält sich nun, als ob es auf fsStayOnTop gesetzt sei. Erstelle ich das Programm mit Delphi-2006 kann man die Fenster durch anklicken abwechselnd nach vorne bringen, erstelle ich mit Delphi-2009 oder Delphi-XE bleibt das Hauptfenster immer durch Form2 verdeckt. Nimmt man drei Fenster, kann man Form2 und Form3 abwechselnd durch Anklicken in den Vordergrund bringen, Form1 aber nicht.

Verdeckung durch andere Anwendungen interessiert mich hier nicht, wie es in den anderen Beiträgen zu diesem Thema oft diskutiert wird.

Wie muss ich die Einstellungen setzen, so dass MainForm vorne erscheint, wenn es den Fokus hat?


P.S. Vielen Dank für Euer Forum, es hat mir in den letzten Jahren schon unendlich große Dienste geleistet, ohne dass ich eigene Beiträge geschrieben habe. Dies ist nun meine erste Frage, die ich nicht finden konnte.

DeddyH 28. Feb 2012 09:41

AW: Hauptfenster von VCL-Anwendung kommt nicht in Vordergrund
 
Dieses Verhalten kann ich nachvollziehen, solange MainFormOnTaskBar true ist (wird per Default in der Projektdatei gesetzt). Ich glaube auch, dass wir das schon einmal hatten, finde aber auf die Schnelle keinen Thread dazu.

Rene2 28. Feb 2012 09:59

AW: Hauptfenster von VCL-Anwendung kommt nicht in Vordergrund
 
Herzlichen Dank, das ist die Lösung! Ich habe in FormCreate von Form1 die Eigenschaft Application.MainFormOnTaskBar:=false gesetzt und schon funktioniert alles.

Noch besser ist es wohl in der Projekt.dpr die Zeile zu ändern bei der die Eigenschaft Application.MainFormOnTaskBar standardmäßig auf true gesetzt wird.

himitsu 28. Feb 2012 10:38

AW: Hauptfenster von VCL-Anwendung kommt nicht in Vordergrund
 
Das ist ein neues verhalten (ich glaub auch das hatten wie vor Kurzem schonmal).

Es werden alle Fenster immer vor der "MainForm" dargestellt.

Bei MainFormOnTaskBar=False wird dann quasi nicht die MainForm, sondern das versteckte Delphi-Referenz durchsuchenApplication-Form genutzt.


Gesteuert werden soll das Ganze aber auch
Delphi-Quellcode:
{TForm.}PopupParent
, welches du testweise z.B. mal auf Application setzen könntest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz