Einzelnen Beitrag anzeigen

Bodenseematze

Registriert seit: 10. Jul 2023
76 Beiträge
 
#23

AW: Hintergrundform abdunkeln, wenn andere Form Modal geöffnet wird?

  Alt 26. Mai 2025, 10:24
Auch wenn der Thread schon etwas älter ist...
...ich hänge mich mal an

Die Lösungen hier im Thread gehen immer davon aus, dass man das abdunkelnde Fenster selber erzeugt und zerstört, weil eine andere Form von der eigenen aus ShowModal angezeigt wird.

Ich möchte die Logik gerne umdrehen - d.h. ich möchte in meiner Form darauf reagieren, wenn irgendein anderer Dialog in meiner Applikation von irgendwoher ShowModal gesetzt wird.
Wenn das erkannt wird, soll die eigene Form abgedunkelt werden (d.h. das abdunkelnde Zusatz-Fenster erzeugt / angezeigt werden).

Aber wie erkenne ich das am Besten (ohne total kompliziert zu werden)?
Über Application.OnModalBegin?
Ist dort sicher, dass der Sender das Fenster ist, das modal geschaltet wird/wurde?
Und wie leite ich das dann an alle meine sichtbaren Forms weiter (sind alle von einer Basisklasse abgeleitet, d.h. prinzipiell machbar)?
Sollte auch funktionieren, wenn ein Standard-Dialog (z.B. MessageBox) modal aufgeschaltet wurde...

EDIT: inzwischen habe ich herausgefunden, dass die Verwendung des TMessageManager gut geeignet wäre - aber ich bin noch bei Delphi7 und da gibt's dennoch nicht - und auch keine 3rdParty Implementierung eines EventBus o.ä. , oder?

Geändert von Bodenseematze (26. Mai 2025 um 11:11 Uhr)
  Mit Zitat antworten Zitat