Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Focus on Close (MDI und PopupMode)

  Alt 30. Jul 2025, 10:18
Boar eh, was'n dat für'n Scheißdreck?

Im oberen Test, da will PopupMode NIE funktionieren
und jetzt ist es immer aktiv und ich bekomm es nichtmehr aus.

Ich hab jetzt eine einfache Testanwendung mit zwei Forms
* Forms automatisch erstellt (Standard)
* oder erst beim ButtonBlick erstellt
* mit (Self) und ohne Owner (nil), weil https://quality.embarcadero.com/brow...2pmexplicit%22

* PopupMode/PopupParent im ButtonClick gesetzt, oder nicht und dann nur noch ein Form29.Show (und eventuell noch ein TForm29.Create)
* FormStyle der MainForm auf fsMDIForm gesetzt, oder nicht

pmAutp = hängt immer an der ersten Form (MainForm)
pmExplizit = hängt ebenfalls an der Form (was es im anderen Test aber nie machte)
pmNone = hängt immernoch an der Form, aber sollte es eigentlich nicht.


VCL-Anwendunng erstellen, weitere VCL-Form erstellen (eventuell as AutoCreate deaktivieren) und dann
Delphi-Quellcode:
procedure TForm28.Button1Click(Sender: TObject);
begin
  //Form29 := TForm29.Create(Self);
  Form29.PopupMode := pmNone;
  //Form29.PopupParent := Self;
  Form29.Show;
end;

Und nun noch mit 3 Forms.
* pmAuto hängt an der MainForm
* pmExplicit kann auch an der zweiten Form hängen (also Dritte immer über der Zweiten und die über der Ersten/Main)
* pmNone wird weiterhin ignoriert und es hängt über der Main

neue VCL-Anwendung mit 2 weiteren VCL-Forms und AutoCreate:
Delphi-Quellcode:
procedure TForm28.FormShow(Sender: TObject);
begin
  Form29.Show;
end;

procedure TForm28.Button1Click(Sender: TObject);
begin
  //Form30 := TForm30.Create(Self);
  Form30.PopupMode := pmNone;
  //Form30.PopupParent := Form29;
  Form30.Show;
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat