Bin schon (lange) zu einer Lösung gekommen, aber das wird niemanden gefallen, deshalb suche ich nach einer besseren Lösung und das wird wohl noch etwas dauern.
Wen's interessiert, die Lösung ist, dass man SetLayeredWindowAttributes nicht mehr verwendet. Das hat zur Folge, dass dort wo es schwarz ist, wird das Glass angewendet. Da aber Delphi,
GDI und nicht
GDI+ verwendet, wird es schwierig sein eine Lösung zu finden, denn
GDI kann kein ARGB, d.h. leider macht u.a. Vista den Alpha-Teil = 0 für
GDI (nicht Plus). Das bedeutet wiederrum, dass aber 0 für volle Transparenz steht (da verstehe ich MS nicht???). Wie auch immer, der Glass-Effekt wird aber auf Schwarz (bis vor kurzem auch alle anderen Farben) mit Alpha=0 angewendet. Somit würde das Glass auf normalen
GDI Anwendungen gehen, nur leider auch in Textboxen und anderen Controls, die Schwarz verwenden. Hätte nur MS in beiden Fällen Alpha=255 gewählt oder zumindest beim DWM die freie Wahl gelassen. Mit SetLayeredWindowAttributes konnte man dieser
GDI vs. ARGB entgegensteuern, nur hat MS dort seit 5536 was geändert das sich SetLayeredWindowAttributes mit DWM nicht mehr so richtig verträgt.
Mal sehen ob es da eine Lösung gibt, ich suchen...