Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Behalte MainForm im Hintergrund


Kalle557 - Mo 08.08.11 19:17
Titel: Behalte MainForm im Hintergrund
Hallo,

ich habe folgendes Problem... ich habe eine MainForm und eine zweite Form. Wenn ich die zweite Form geöffnet habe und auf den dortigen Button drücke, kommt automatisch immer die MainForm mit in den Vordergrund. Wenn z.Bsp. die Form2 ganz vorne ist und die MainForm vielleicht das fünfte Fenster war, rückt die MainForm beim ButtonClick direkt hinter Form2. Wie kann ich das verhindern? Ich benutze ja nur die Form2 und MainForm soll da bleiben wo sie ist ;)

Habe schon mit MainForm.Visible und auch SentBack usw gearbeitet, aber kein Erfolg. Danke für eure Hilfe.

----
Folgendes scheint zu funktionieren (in Form2.Show)

ShowWindow(MainForm1.Handle, SW_SHOWNOACTIVATE);
MainForm1.Visible:=False;

Bei Form2.Close mache ich die MainForm dann wieder sichtbar. Ich frage mich nur, ob ich das SHOWNOACTIVATE noch irgendwie zurücksetzen muss?


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 08.08.2011 um 20:38


Bergmann89 - Mo 08.08.11 23:32

Hey,

einfach FormStyle von Form2 auf fsStayOnTop setzen ;)

MfG Bergmann


Kalle557 - Mi 10.08.11 10:36

Hatte ich auch schon probiert, half aber nichts. Es ging ja eigentlich um das Hauptformular, das die Position nicht verändern sollte, sobald ich auf Form2 klicke. Aber leider sprang das Hauptformular dann auch immer nach vorne an die 2. Position (direkt hinter Form2). Naja, soweit scheint aber alles jetzt zu laufen ;)


Xion - Mi 10.08.11 13:03

Du könntest vielleicht die Hauptform unsichtbar machen, während du das Fenster anzeigt.

//Edit...ah, ich sehe ;) irgendwie bin ich total verpennt in letzter Zeit...