Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Form als Dialogfenster


Uli Schoch - Mo 07.04.08 10:42
Titel: Form als Dialogfenster
Hallo
Wie kann ich ein Formular als Dialogfenster einstellen, also so, dass ich nur mit Close rauskomme und nich mit einem Klick in ein anderes Fenster. Also so, wie ein Öffnen-Dialog.

Gruss
Uli


passiv - Mo 07.04.08 10:49

Form.Style:=fsDialog und Form.ShowModal nicht Form.Show


Uli Schoch - Mo 07.04.08 13:42

Salü
Danke, ShowModal ist die Lösung. fsDialog gibts beim mir in Delph 3 nicht. Bei FormStyle gibts nur fsMDIChild, fsMDIForm, fsNormal und fsStayOnTop.

Gruss
Uli


Silas - Mo 07.04.08 14:41

user profile iconUli Schoch hat folgendes geschrieben:
fsDialog gibts beim mir in Delph 3 nicht
Bei mir in Delphi 2007 auch nicht. :wink: Die Eigenschaft heißt "BorderStyle".


Yogu - Mo 07.04.08 16:16

Noch ein kleiner Tipp: Stelle Position auf poScreenCenter. Dann wird dein Dialog in der Mitte des Bildschirms angezeigt.


passiv - Di 08.04.08 08:27

uups, stimmt borderstyle ...


oldmax - Di 08.04.08 09:12

Hi
Eine kurze Bemerkung dazu. Fenster, die ShowModal sind, sollten immer im Vordergrund stehen. SceenCenter ist schön, wenn es hinter der Application liegt. Ich ärger mich ständig über "professionelle" Software, wo ein Meldefenster hinter dem nicht mehr bedienbaren Formular liegt und auf eine Bestätigung wartet..... Je nach Umstand glaubt man an einen Absturz des Systems.
Gruß oldmax


iKilledKenny - Di 08.04.08 09:29

Die Position, z.B. ScreenCenter, hat nichts mit der Z-Order der Fenster zu tun. Dein angesprochenes Ärgernis mit modalen Dialogen hinter deaktivierten Fenstern ist nur allzu verständlich, ist aber nicht von der Position abhängig.


Yogu - Di 08.04.08 17:19

user profile iconoldmax hat folgendes geschrieben:
Fenster, die ShowModal sind, sollten immer im Vordergrund stehen.

Wenn das Dialogfeld in der gleichen Anwendung wie das Hauptformular ist, passiert das bei ShowModal automatisch. Da brauchst du dir bei Delphi keine Gedanken machen. Jedenfalls hab ich noch nie so ein Problem gehabt. :?

user profile iconoldmax hat folgendes geschrieben:
Ich ärger mich ständig über "professionelle" Software, wo ein Meldefenster hinter dem nicht mehr bedienbaren Formular liegt und auf eine Bestätigung wartet..... Je nach Umstand glaubt man an einen Absturz des Systems.

Das hab ich noch nie erlebt... vielleicht deaktivieren manche Programme ihr Hauptfenster manuell. Dann kann so was mal passieren.


Sinspin - Di 08.04.08 19:56

user profile iconYogu hat folgendes geschrieben:

user profile iconoldmax hat folgendes geschrieben:
Ich ärger mich ständig über "professionelle" Software, wo ein Meldefenster hinter dem nicht mehr bedienbaren Formular liegt und auf eine Bestätigung wartet..... Je nach Umstand glaubt man an einen Absturz des Systems.

Das hab ich noch nie erlebt... vielleicht deaktivieren manche Programme ihr Hauptfenster manuell. Dann kann so was mal passieren.

Ich kenne das Problem auch. Bei mir passiert es hin und wieder auch mal in Delphi mit Fenstern die eine Komponente zur Designzeit öffnet.
Genauso passiert es aber auch in laufenden Programmen.
Mir erscheint es so, als wenn das Verhalten durch unsauber Programmierte Komponenten entsteht die in die Nachrichtenverarbeitung der Fenster eingreifen.