Danke schon mal.
Ich werde erst mal noch einen anderen Ansatz versuchen:
Ich muss ja auch prüfen, ob Controls als Block aneinander sitzen.
Dann darf der Schatten nicht neben jedem Control gezeichnet werden, da es sonst unlogische Überneidungen gibt (rechts im Bild neben dem roten Kasten).
Also versuche ich folgendes:
- alle nicht hochgehobenen Controls zeichnen
-
alle Regionen der hochgehobenen Controls (i.F. "hC") vom Zeichnen ausnehmen <- ist vermutlich gar nicht nötig
- alle hC nach .Left und .Top sortieren
- alle rechten Kanten (bzw. Teile) der hC ermitteln, die NICHT von anderen hC berührt werden
- alle angrenzenden gesammelten Kanten-Teile vereinen
- rechte Schatten an allen Kanten malen, dazu beide Enden auf den letzten Pixeln abschwächen
- ... das Gleiche für die unteren Kanten
- gesperrte Regionen freigeben
- alle hC zeichnen
Damit sollten die rot gerahmten Controls im Bild als Block erscheinen (auch wenn sie nicht genau bündig wären) und auf "Type 14" könnte kein Schatten mehr fallen.
Mal sehen, ob das so klappt...
PS: Man sollte beim Schreiben nicht die ESC-Taste erwischen. Dann ist der geschriebene Text offenbar unwiederbringlich weg...