AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

MainForm kommt nicht in den Vordergrund

Ein Thema von sahimba · begonnen am 16. Feb 2017 · letzter Beitrag vom 17. Feb 2017
Antwort Antwort
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
127 Beiträge
 
Delphi 10 Seattle Professional
 
#1

MainForm kommt nicht in den Vordergrund

  Alt 16. Feb 2017, 12:56
So... Windows 10, Delphi Seattle Professional.
Die nahezu einfachst denkbare Anwendung:

Ein Hauptformular - alles Standardeinstellungen - und ein Button.
Im ButtonClick wird ein weiteres Formular erzeugt und angezeigt.

Delphi-Quellcode:
LForm := TForm2.Create(Self);
LForm.Show;
Klicke ich nun auf das Hauptformular wird es aktiviert, das zweite Formular verbleibt jedoch im Vordergrund.

An keinem der beiden Formulare wurde irgendeine Property geändert.

Ist das Standardverhalten? Das ist mir in tausend Jahren noch nicht aufgefallen.
  Mit Zitat antworten Zitat
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
127 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: MainForm kommt nicht in den Vordergrund

  Alt 16. Feb 2017, 13:11
Das Verhalten zeigt sich, sobald
Application.MainFormOnTaskbar := True; gesetzt ist.
  Mit Zitat antworten Zitat
Geda

Registriert seit: 24. Jul 2015
19 Beiträge
 
Delphi XE8 Professional
 
#3

AW: MainForm kommt nicht in den Vordergrund

  Alt 16. Feb 2017, 13:58
Zur Run- oder Designtime gesetzt?

http://docs.embarcadero.com/products...nTaskBar.html:
Zitat:
If a change to default behavior is required, MainFormOnTaskBar should be set in the .dpr file after Application.Initialize and before main form creation. The MainFormOnTaskBar setting is intended to persist for the life of the application; later runtime changes of this property could result in unexpected behavior.

MainFormOnTaskBar defaults to True for applications created in Delphi 2007 and later products and False for earlier products.

The property can be applied to older applications. Note that it affects the Z-order of your MainForm in case your application depends on this.

To update existing VCL applications, add the following line to the project's .dpr file after Application.Initialize;:
Geert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
32.049 Beiträge
 
Delphi XE3 Professional
 
#4

AW: MainForm kommt nicht in den Vordergrund

  Alt 16. Feb 2017, 19:15
Die VCL sucht sich inzwischen standardmäßig den PopupParent automatisch raus und das ist das aktuell aktive/fokusierte Fenster, bevor dein neues Fenster angezeigt wird.
Und der PopupParent ist das Fenster, bei dem man immer darüber liegt.
PS: Das Selbe passiert auch bei Dialogen.

siehe Delphi-Referenz durchsuchenTForm.PopupMode und Delphi-Referenz durchsuchenTForm.PopupParent
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.228 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

AW: MainForm kommt nicht in den Vordergrund

  Alt 16. Feb 2017, 19:22
FormStyle auf (fs)StayOnTop setzen?!

Oder ist das schon wieder obsolet?
  Mit Zitat antworten Zitat
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
127 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: MainForm kommt nicht in den Vordergrund

  Alt 17. Feb 2017, 00:56
Moin und Danke.

Es war wohl eine Kombination aus MainFormOnTaskbar und dem PopupMode.
Mit MainFormOnTaskBar True tritt das Verhalten hier immer auf, unabhängig vom PopupMode. Bei False und einem PopupMode von pmNone ist es so, wie ich das nun erwartet/gewollt habe.

Ist mir tatsächlich noch nie wirklich aufgefallen, allerdings verwendet unsere Anwendung auch meist modale Dialoge. Irgendwie geh ich da dann doch lieber in den Keller, Bits schubsen... da weiß man, was man hat.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
32.049 Beiträge
 
Delphi XE3 Professional
 
#7

AW: MainForm kommt nicht in den Vordergrund

  Alt 17. Feb 2017, 16:21
MainFormOnTaskbar=True ist aber das bessere Verhalten.

Die Preview in der Taskleiste zeigt dann die Form und nicht das leere Application (das steuernde MessageOnlyWindow der VCL).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:

Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2017 by Daniel R. Wolf