![]() |
Mehrere Formulare
Hallo,
ich habe jetzt schon einige Zeit gesucht, aber nichts gefunden, dass mir geholfen hätte: Ich habe eine Anwendung, in der ich zusätzliche VCL-Formulare habe, die ich bei Bedarf anzeigen lassen möchte. Funktioniert soweit wie erwartet. Jetzt möchte ich zwei Formulare offen halten und zwischen den beiden (Main + ein anderes) hinundherwechseln. Wenn ich auf das Hauptfenster klicke, kann ich zwar auf sichtbare Komponenten zugreifen, aber das andere Fenster bleict trotzdem vorne. Gibt es eine Möglichkeit das andere Formular nach hinten zu schieben und bei Bedarf wieder nach vorne zu holen (ich möchte es nicht schliessen)? VG Ray |
AW: Mehrere Formulare
Wie wäre es mit einem Pagecontrol? Für jede Form ein Tabsheet.
|
AW: Mehrere Formulare
Versteh ich jetzt nicht.
Ich möchte keine (zusätzlichen) Tabs, sondern tatsächlich ein zusätzliches Fenster, in dem ich bei Bedarf Sachen anzeigen kann. Wie gesgt funktioniert soweit auch, aber für manche Anwendungsfälle wäre es schön, wenn man schnell zwischen den beiden Fenstern hin- und herwechseln kann. Leider habe ich es noch nicht geschafft, das Hauptfenster zu holen. |
AW: Mehrere Formulare
Setz mal in der DPR-Datei das Application.MainFormOnTaskbar auf False. Das hat zwar andere Nachteile, stellt aber das gewünschte Verhalten her.
|
AW: Mehrere Formulare
Welche Delphiversion? (Tipp, damit man es bei jeder Frage nicht neu anzugeben braucht:
![]() Die reagieren ja teilweise unterschiedlich. Ansonsten hat jede Form einen ![]() Eigentlich sollte es standardmäßig aber auf pmNone stehen. :gruebel: z.B. Dialoge und ShowModal hängen sich an die gerade aktive Form, damit sie immer davor bleiben. Eventuell hängt sich deine Form automatisch an die MainForm, damit sie nicht ausversehn dahinter verschwindet. |
AW: Mehrere Formulare
Wenn die Nicht-Hauptformen immer im Vordergrund bleiben, dann scheint es sich um eine neuere Delphi-Version zu handeln. Wenn dabei zwei Fenster in den Vordergrund kommen dürfen sollen, dann hilft ein Überschreiben der CreateParams der Nicht-Hauptformen:
Delphi-Quellcode:
Dann kann die Mainform auch wieder in den Vordergrund, auch während die zweite Form sichtbar ist.
TMySecondForm = class(TForm)
// ... protected procedure CreateParams(var Params: TCreateParams); override; end; procedure TMySecondForm.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.WndParent := Application.Handle; end; |
AW: Mehrere Formulare
Boar eh, wer hat sich denn den Sch*** ausgedacht?
Bei pmNone und MainFormOnTaskBar wird die Form wirklich an die MainForm gehängt. Eigentlich sollte das doch nur bei pmExplicit und PopupParant=0 passieren ..... so, wie es auch in der Hilfe steht. :wall: |
AW: Mehrere Formulare
Hallo,
vielen Dank für die Antworten. die Version ist Delphi 11. der Eintrag in der DPR hat leider keine Wirkung gezeigt. Der PopUpMode steht auf pmNone. Das Überschreiben der CreateParams scheint zu funktionieren - super Danke schön. |
AW: Mehrere Formulare
Zitat:
|
AW: Mehrere Formulare
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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