AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FormStyle Konfusitäten

Ein Thema von moelski · begonnen am 18. Feb 2008 · letzter Beitrag vom 18. Feb 2008
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

FormStyle Konfusitäten

  Alt 18. Feb 2008, 09:38
Moin !

Ich nutze Delphi 2007 und bin etwas verwirrt was Form.FormStyle anbelangt. Und zwar nutzen wir in unserer Anwendung mehrere Formulare. Angezeigt werden sie meist mit .Show. Wenn man in der Anwendung dann auf das Hauptfenster klickt verschwinden die zusätzlichen Formulare hinter dem Hauptfenster.

Ich habe deshalb mal (weil dieses Verhalten ziemlich bescheiden ist) eine Mini Anwendung erstellt. Ein neues VCL Projekt (Form1) und zusätzlich ein Forumlar (Form2). Auf dem ersten Formulr ein Button mit diesem Quelltext:
form1.Show; Startet man das, geht Form1 auf. Nach Klick auf Form2 geht das auf. Soweit alles klar. Wenn ich jetzt aber auf Form1 klicke, dann bleibt Form2 über Form1 stehen und legt sich nicht "dahinter".
Ich habe dann in Form2 mal eine Checkbox hinzugefügt mit folgendem Code:
Delphi-Quellcode:
if checkBox1.Checked then
    Form1.FormStyle := fsStayOnTop
  else
    Form1.FormStyle := fsNormal;
Aber passieren tut da nix obwohl er den Style sauber setzt.

Was ich nun überhaupt nicht verstehe ...
Warum werden in unserer Anwendung die additiven Fenster hinter das Hauptfenster gelegt wenn man das Hauptfenster anklickt und warum ist das in der hier beschriebenen MiniDemo nicht so?

Was müsste ich denn tun, damit FormStyle so funktioniert wie erwartet? Und was könnte der Grund sein warum es in unserer richtigen Anwendung so funktioniert wie hier beschrieben?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: FormStyle Konfusitäten

  Alt 18. Feb 2008, 09:42
Hast du alle Updates für D2007 installiert?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

Re: FormStyle Konfusitäten

  Alt 18. Feb 2008, 09:47
Moin !

Hmm das Dezember Update ist noch nicht drauf sehe ich gerade.
Und das Hilfe Update.

Wurde dort denn etwas gefixt was dieses Problem betrifft ?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#4

Re: FormStyle Konfusitäten

  Alt 18. Feb 2008, 10:13
Moin !

So ich habe nun die Update installiert. Geändert hat sich aber nix.

Hat sonst noch wer Ideen zu dieser Problematik?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: FormStyle Konfusitäten

  Alt 18. Feb 2008, 10:17
Imho bedeutet .Show auch nicht das Fenster in den Vordergrund zu holen. Versuch es mal mit .BringToFront
Markus Kinzler
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#6

Re: FormStyle Konfusitäten

  Alt 18. Feb 2008, 10:20
Zitat von moelski:
Moin !

So ich habe nun die Update installiert. Geändert hat sich aber nix.

Hat sonst noch wer Ideen zu dieser Problematik?
Stayontop hält das Fenster oben aber bei mehreren Fenstern mit Stayontop hat man wieder den Zufall im Spiel.
Stayontop läßt sich schwer testen, da beim Debugen so ein Fenster auch den Quelltext verdeckt.
Ein Hauptfenster gibt es nur per Definition, die generierten Forms sind gleichberechtig.

Weise der neuen Form aber einmal die Mainform als Parent zu, dann sollte es gehen.

(Form2.Parent := Form1.Parent

Gruß
Peter
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#7

Re: FormStyle Konfusitäten

  Alt 18. Feb 2008, 10:27
Moin !

Also bei mir tuts nicht. Egal ob mit oder ohne StyOnTop und auch Parent bringt keine Besserung. Das zweite Formular überdeckt immer das erste.

Vielleicht kann sich ja mal jemand die Mini App ansehen. Vielleicht mache ich ja grundlegend was falsch !?
Angehängte Dateien
Dateityp: zip stayontop_643.zip (20,8 KB, 3x aufgerufen)
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#8

Re: FormStyle Konfusitäten

  Alt 18. Feb 2008, 12:35
Moin !

Ich habe jetzt das gleiche Projekt noch mal unter D7 erstellt. Also 2 Formulare, das erste Formular ruft das zweite mittels:
Form2.Show; auf. Und Dort dann eine CheckBox mit dem Code:
Delphi-Quellcode:
  if CheckBox1.Checked then
    form2.FormStyle := fsStayOnTop
  else
    form2.FormStyle := fsNormal;
Geht problemlos. Nach dem Start kann man Form2 anzeigen lassen. Klickt man auf Form1 überlagert es Form2 und klickt man auf Form2 überlagert es Form1. So als wären es zwei unabhängige Applikationen.

Setzt man die checkbox so bleibt Form2 im Vordergrund und Form1 liegt dahinter. Allerdings muss ich gerade feststellen, dass die Fenster dann über allem liegen also auch über anderen anwendungen Es ist zum Haareraufen.

Ich stelle mal meine Frage um ...
Wie kann ich in Delphi 2007 dafür sorgen, dass ich von einem Formular aus andere Formulare aufrufe und diese aufgerufenen Formulare immer über dem Formalar liegen, von dem sie aufgerufen wurden? Und die additiven Formulare dürfen nicht andere Applikationen überlagern.
Und ich meine damit kein ShowModal, denn ich muss sowohl auf das Hauptformular als auch auf die additiven Formulare Zugriff haben.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  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 03:23 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