Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#6

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

  Alt 1. Mai 2024, 02:02
Das Dimmen mittels einer deckungsgleichen, leeren Form (wie von @jaenicke vorgeschlagen) sieht etwas ansprechender aus.

Falls die App gelegentlich mehrere Fenster anzeigt, wäre es wahrscheinlich am besten, eine TFormMitDim von TForm abzuleiten. Wenn dann ein Fenster modal angezeigt werden soll, werden alle zu dimmenden Fenster informiert.

Ich habe noch eine Frage: Die Form, die dimmt, kann auch farbig sein, aber die Titelleiste der Form wird (Methode deckungsgleiche Form) nicht eingefärbt.

Man kann eine Windows-Region (HRGN) definieren, die genau die Abmessungen der zu dimmenden Form hat, und dann einem ‘Panelwindow’ oder Ähnlichem (einer Delphi-Form mit BorderStyle=bsNone) diese Region zuordnen. (Zum Beispiel Uwes Dimmform.) Ich habe mit GetWindowRgn die Region des zu dimmenden Fensters ausgelesen und mit SetWindowRgn dem ‘Dimmfenster’ zugeordnet. Es wäre ein Zweizeiler, aber es will nicht funktionieren: Das Fenster wird mit nicht abgerundeten Ecken gezeichnet.

Man könnte über den Umweg ‘Screenshot(s) des Fensters’ eine HRGN ‘berechnen’ und dem Dimmfenster diese Region zuordnen. Gibt es einen besseren Weg?
Evt. könnte dies helfen: https://learn.microsoft.com/en-us/wi...ounded-corners
Michael Gasser

Geändert von Michael II ( 1. Mai 2024 um 09:52 Uhr)
  Mit Zitat antworten Zitat