AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Eine Form mit ShowModal, verdeckt ein Dialogfenster
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Form mit ShowModal, verdeckt ein Dialogfenster

Ein Thema von nachtstreuner · begonnen am 2. Apr 2012 · letzter Beitrag vom 2. Apr 2012
Antwort Antwort
nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#1

AW: Eine Form mit ShowModal, verdeckt ein Dialogfenster

  Alt 2. Apr 2012, 09:04
Hallo DeddyH,

ohne die Unit, habe ich lediglich die AV nicht, aber alle anderen Symptome...
Alles wird gut -
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#2

AW: Eine Form mit ShowModal, verdeckt ein Dialogfenster

  Alt 2. Apr 2012, 09:08
Dann lass als Erstes mal die Unit wieder raus. Hab ich das richtig verstanden, dass der Dialog in der Taskleiste zu sehen, aber minimiert ist?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Eine Form mit ShowModal, verdeckt ein Dialogfenster

  Alt 2. Apr 2012, 09:18
Hallo deddyH,

ja das ist richtig, habe die Unit rausgeschmissen und mal was anderes probiert:

Folgendes war eingestellt:

Hauptformular : formStyle : fsnormal
Unterformular : formStyle : fsStayonTop (showModal)

dann tritt der Fehler auf, das das Dialogfeld(Warnung) zum Datei erstzen oder abbrechen in der Taskleiste minimiert erscheint und nur mühsam mit mehreren Klicks hervorgeholt werden kann.

Nun habe ich eingestellt:
Hauptformular wie oben aber
Unterformular : formStyle : fsNormal (ShowModal)

und siehe da, die Meldungen erscheinen nun im Vordergrund und gehen nur in den Hintergrund(Taskleiste, wenn ich nicht auf einen der Buttons im Warndialog klicke sondern in die Form darunter.

Aber das scheint ja das normale verhalten zu sein, da die Warndialoge nicht modal sind, oder liege ich da falsch ?

Jedenfalls kann ich damit leben. Danke
Alles wird gut -

Geändert von nachtstreuner ( 2. Apr 2012 um 09:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#4

AW: Eine Form mit ShowModal, verdeckt ein Dialogfenster

  Alt 2. Apr 2012, 09:29
Sicher daß es minimiert in der Taskleiste und nicht nur hinter der anderen form rumgammelt?

Du sagst ja "mach das eine Fenster ganz nach vorne" und genau das macht es ... und zwar auch vor allen modalen Dialogen.

Modal = Top
StayOnTop = TopMost
TopMost > Top


Alt + Leertaste = Formularmenü
Alt + Leertaste + V + Cursortaste (verschieben im Deutschen) ... danach kann es auch mit der Maus verschoben werden, sobald das Verschieben einmal aktiv ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Eine Form mit ShowModal, verdeckt ein Dialogfenster

  Alt 2. Apr 2012, 09:38
Hallo Himitsu,

also ich habs nochmal umgestellt wie vorhin:

Hauptformular : formStyle : fsnormal
Unterformular : formStyle : fsStayonTop (showModal)

das verdeckte Dialogfenster liegt zwischen der Hauptform und dem Modalen Formular (StayonToP) und wird somit verdeckt und taucht als Hinweis in der Taskleiste auf.
Alles wird gut -
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#6

AW: Eine Form mit ShowModal, verdeckt ein Dialogfenster

  Alt 2. Apr 2012, 10:33
Und das ist ein ganz normales Standardverhalten.

Aus diesem Grund haben wir letzte Woche unser Programm umgebaut und die vielen fsStayOnTop entfernt, da immer mal wieder Dialoge verschwanden,
außerdem läßt es sich, mit solchen TopMost-Fenstern mitten im Bild, echt bescheuert debuggen.
In deinem XE2 kannst du viele Fenster auch über TForm.PopupOwner steuern, also wo und über welcher Form sie dargestellt werden sollen. (standardmäßig ist ales an derMainForm ausgerichtet)

Du kannst es aber auch mit Delphi-Referenz durchsuchenApplication.NormalizeTopMosts oder Delphi-Referenz durchsuchenApplication.NormalizeAllTopMosts versuchen.
Diese Funktion entfernt überall das fsStayOnTop.
Delphi-Quellcode:
Application.NormalizeAllTopMosts;
try
  ...
  DeinDialog.ShowModal;
  ...
finally
  Application.RestoreTopMosts;
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Eine Form mit ShowModal, verdeckt ein Dialogfenster

  Alt 2. Apr 2012, 11:00
Danke für die Hinweise, himitsu,

werde auch mal die fsStayOnTops soweit wie möglich entfernen und Deine anderen Tips auspropieren.

Thanks
Alles wird gut -
  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:39 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-2025 by Thomas Breitkreuz