Autor Beitrag
realAndy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Mi 02.11.11 17:15 
Hi,
ich habe in Delphi eine VCL-Formularanwendung erstellt. Auf dem Mainformular habe ich einen Button.
Wenn dieser geklickt wird, wird mit formular.show ein weiteres Formular geöffnet. Wenn ich nun mit der Maus auf das Mainformular klicke, dann bleibt trotzdem das zweite Formular im Fordergrund.
Wie bekomme ich es aber hin, dass dann das Mainformular nach vorne kommt?

Vielleicht sollte ich dazu noch sagen, dass ich das FormStyle bei der MainForm auf fsNormal gesetzt habe.

Danke für eure Hilfe
Andy


Zuletzt bearbeitet von realAndy am Do 03.11.11 11:55, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 02.11.11 21:29 
Und der FromStyle des zweiten Fensters? Weil so wie du es beschreibst, dürfte das nicht der Fall sein.
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 08:54 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Und der FromStyle des zweiten Fensters? Weil so wie du es beschreibst, dürfte das nicht der Fall sein.


Auch bei dem zweiten Fenster ist formStyle auf fsNormal gesetzt. Kann es sein, dass dies so kommt, weil ich eine MDI Anwendung erstellt habe und keine SDI?
Gibt es denn eine Möglichkeit aus einer MDI Anwendung eine SDI Anwendung zu machen?
Ich dachte, wenn ich das fomStyle auf fsNormal setzte, dann geht das. Scheint aber nicht so zu sein. :(
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Do 03.11.11 09:07 
Ich habe das gerade nachgebaut: Neues VCL-Projekt, 2 Forms hinzufügen (keine Eigenschaft ändern), Button auf form 1 und im OnClick form2.Show; und gestartet. Tatsächlich bleibt Form2 im Vordergrund obwohl durch den Klick auf Form1 es den Fokus bekommen hat. :shock:
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 09:19 
user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe das gerade nachgebaut: Neues VCL-Projekt, 2 Forms hinzufügen (keine Eigenschaft ändern), Button auf form 1 und im OnClick form2.Show; und gestartet. Tatsächlich bleibt Form2 im Vordergrund obwohl durch den Klick auf Form1 es den Fokus bekommen hat. :shock:


Es scheint wirklich daran zu liegen, dass es eine MDI Anwendung ist. Bei einer SDI Anwendung kommt die form1 in den Vordergrund. Das würde aber nun bedeuten, dass ich meine Mainform komplett neu machen muss. Jedenfalls hab ich noch keine Möglichkeit gefunden aus der MDI Anwendung eine SDI Anwendugn zu machen.
Vielleicht kann mir ja hier jemand weiterhelfen?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.11.11 11:02 
user profile iconrealAndy hat folgendes geschrieben Zum zitierten Posting springen:
Es scheint wirklich daran zu liegen, dass es eine MDI Anwendung ist.

Meinst du nicht auch, dass diese Information schon in deinem ersten Beitrag sinnvoll gewesen wäre?
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 11:43 
user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe das gerade nachgebaut: Neues VCL-Projekt, 2 Forms hinzufügen (keine Eigenschaft ändern), Button auf form 1 und im OnClick form2.Show; und gestartet. Tatsächlich bleibt Form2 im Vordergrund obwohl durch den Klick auf Form1 es den Fokus bekommen hat. :shock:



user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconrealAndy hat folgendes geschrieben Zum zitierten Posting springen:
Es scheint wirklich daran zu liegen, dass es eine MDI Anwendung ist.

Meinst du nicht auch, dass diese Information schon in deinem ersten Beitrag sinnvoll gewesen wäre?


OK, um es noch mal richtig zu sagen. Wie ich in meinem ersten Beitrag geschrieben habe, habe ich eine neue VCL Anwendung erstellt. Ich denke mal das eine VCL Anwendung sich offenbar wie eine MDI Anwendung verhält. Oder liege ich da falsch?
Was ich brauche ist ein Mainform aus welcher ich weitere Forms öffnen kann, welche aber nicht innerhalb der Mainform geöffnet werden sollen.
Dabei soll es aber möglich sein, dass Mainform auch wieder in den Fordergrund zu holen, also vor die geöffneten weiteren Forms zu bekommen. Genau das scheint mit einer VLC Formularanwendung nicht zu gehen.


Zuletzt bearbeitet von realAndy am Do 03.11.11 11:53, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.11.11 11:48 
VLC oder VCL? VLC sagt mir jetzt nichts, aber wenn damit automatisch eine MDI Anwendung verknüpft ist, dann will ich nichts gesagt haben.
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 11:52 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
VLC oder VCL? VLC sagt mir jetzt nichts, aber wenn damit automatisch eine MDI Anwendung verknüpft ist, dann will ich nichts gesagt haben.


Entschuldigung, VCL meinte ich...
Wichtig währe sicher auch noch zu erwähnen, dass ich das ganze unter Delphi 2010 mache...
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.11.11 12:01 
user profile iconrealAndy hat folgendes geschrieben Zum zitierten Posting springen:
Ich denke mal das eine VCL Anwendung sich offenbar wie eine MDI Anwendung verhält.

Nur, wenn man eine erstellt.
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 12:10 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconrealAndy hat folgendes geschrieben Zum zitierten Posting springen:
Ich denke mal das eine VCL Anwendung sich offenbar wie eine MDI Anwendung verhält.

Nur, wenn man eine erstellt.


Wie meinst du das?
Ich habe eine neue VCL Formularanwendung erstellt. Dabei wird ja das Mainform automatisch mit angelegt. Dann habe ich weitere Formulare erstellt, welche ich über Buttons auf der Mainform mit form2.show öffne. Nach dem öffnen von weiteren Forms bekomme ich aber das Mainform nicht mehr in den Fordergrund. Das ist mein Problem. Form2 z.B. verdeckt immer das Mainform.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.11.11 12:18 
Ich weiß nicht, was du machst.
Einloggen, um Attachments anzusehen!
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 12:22 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconrealAndy hat folgendes geschrieben Zum zitierten Posting springen:
Ich denke mal das eine VCL Anwendung sich offenbar wie eine MDI Anwendung verhält.

Nur, wenn man eine erstellt.



user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Ich weiß nicht, was du machst.


Welche Delphiversion verwendest du? Delphi 7?
Möglicherweise verhält es sich dort anders als wie unter Delphi 2010.

Andreas L. hat ja etwas weiter oben das gleiche Ergebnis wie ich.
Einloggen, um Attachments anzusehen!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.11.11 12:26 
Ja, Delphi 7. Aber auch bei mehreren ist es kein Problem:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.btn2Click(Sender: TObject);
var
  i: Integer;
  frm: TForm2;
begin
  for i := 0 to 9 do
  begin
    frm := TForm2.Create(self);
    frm.Show;
  end;
end;
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 12:33 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

ich habe deinen Code gerade genau so ausprobiert. Die Mainform kommt bei Delphi 2010 nicht wieder in den Vordergrund, bekommt aber den Focus bei anklicken.
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Do 03.11.11 12:35 
user profile iconrealAndy hat folgendes geschrieben Zum zitierten Posting springen:
Es scheint wirklich daran zu liegen, dass es eine MDI Anwendung ist.

user profile iconrealAndy hat folgendes geschrieben Zum zitierten Posting springen:
OK, um es noch mal richtig zu sagen. Wie ich in meinem ersten Beitrag geschrieben habe, habe ich eine neue VCL Anwendung erstellt. Ich denke mal das eine VCL Anwendung sich offenbar wie eine MDI Anwendung verhält.

Was hast du nun erstellt? MDI Anwendung oder nicht? Siehe hier:

neuesProjekt

Wenn du dir sicher bist, dass du keine MDI Anwendung gewählt hast und auch kein showModal nutzt o.ä. dann lade bitte einmal hier ein leeres Projekt hoch, in dem dieses Phänomen zu beobachten ist.
Einloggen, um Attachments anzusehen!
_________________
Delphi: XE - OS: Windows 7 Professional x64
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Do 03.11.11 12:47 
Ich habe eine VCL Formularanwendung erstellt.
Habe dies auch gerade noch mal mit einem kleinen Testprojekt getestet.

Moderiert von user profile iconMartok: Doppelposting entfernt.

So, habe jetzt auch mal das Testprojekt hochgeladen...


Moderiert von user profile iconMartok: Fullquote des vorigen Beitrags entfernt
Einloggen, um Attachments anzusehen!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.11.11 13:05 
Kompiliert mit D7 verhält es sich wie erwartet und gewünscht.

Für diesen Beitrag haben gedankt: realAndy
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Fr 04.11.11 09:00 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Kompiliert mit D7 verhält es sich wie erwartet und gewünscht.


hmm, also mit D7 scheint es wirklich zu gehen. Mit D2010 hat sich da offenbar was geändert.
Eine Idee woran das nun liegen könnte bzw. wie man das ändern kann, hat aber niemand zufällig?
Ich habs nach längeren probieren jedenfalls noch nicht hinbekommen
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 04.11.11 09:30 
Ich dann dieses komische Verhalten mit D2010 auch bestätigen. Ist mir bisher nie aufgefallen. Wohl, weil wir so gut wie immer Modale Formulare verwenden. Keine Idee, woran das liegen könnte.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)