AGB  ·  Datenschutz  ·  Impressum  







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

Mehrere Formulare

Ein Thema von RayEn · begonnen am 12. Aug 2022 · letzter Beitrag vom 13. Aug 2022
Antwort Antwort
Seite 1 von 2  1 2      
RayEn

Registriert seit: 18. Aug 2010
7 Beiträge
 
Delphi 11 Alexandria
 
#1

Mehrere Formulare

  Alt 12. Aug 2022, 12:27
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
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Mehrere Formulare

  Alt 12. Aug 2022, 12:35
Wie wäre es mit einem Pagecontrol? Für jede Form ein Tabsheet.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
RayEn

Registriert seit: 18. Aug 2010
7 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Mehrere Formulare

  Alt 12. Aug 2022, 12:43
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.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.994 Beiträge
 
Delphi 12 Athens
 
#4

AW: Mehrere Formulare

  Alt 12. Aug 2022, 12:51
Setz mal in der DPR-Datei das Application.MainFormOnTaskbar auf False. Das hat zwar andere Nachteile, stellt aber das gewünschte Verhalten her.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#5

AW: Mehrere Formulare

  Alt 12. Aug 2022, 12:52
Welche Delphiversion? (Tipp, damit man es bei jeder Frage nicht neu anzugeben braucht: https://www.delphipraxis.net/profile...le#csel_field5 )

Die reagieren ja teilweise unterschiedlich.



Ansonsten hat jede Form einen Delphi-Referenz durchsuchenPopupMode und PopupParent, worüber man steuern kann, was wie ausgerichtet werden soll.

Eigentlich sollte es standardmäßig aber auf pmNone stehen.

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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (12. Aug 2022 um 13:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Mehrere Formulare

  Alt 12. Aug 2022, 13:10
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:
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;
Dann kann die Mainform auch wieder in den Vordergrund, auch während die zweite Form sichtbar ist.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#7

AW: Mehrere Formulare

  Alt 12. Aug 2022, 13:20
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
RayEn

Registriert seit: 18. Aug 2010
7 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Mehrere Formulare

  Alt 12. Aug 2022, 13:31
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#9

AW: Mehrere Formulare

  Alt 12. Aug 2022, 16:26
der Eintrag in der DPR hat leider keine Wirkung gezeigt.
Vor dem CreateForm?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Mehrere Formulare

  Alt 13. Aug 2022, 12:45
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.
PopupMode wird nur bei modalen Forms verwendet, bei der Frage geht es aber um nicht-modale Forms. Per Default sind halt seit vielen Delphi-Versionen alle sekundären Forms Eigentum des Mainforms (auf der API-Ebene), das war seit Windows Vista notwendig, um für die Anwendung einen normal funktionierenden Taskbar-Button zu bekommen.
Peter Below
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:34 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