Es könnte mit
SetClassLong/GCL_STYLE funktionieren, allerdings habe ich es nicht getestet:
Delphi-Quellcode:
if FDropShadow
then
SetClassLong(
Handle, GCL_STYLE, GetClassLong(hWnd, GCL_STYLE)
or CS_DROPSHADOW)
else
SetClassLong(
Handle, GCL_STYLE, GetClassLong(hWnd, GCL_STYLE)
and not CS_DROPSHADOW);
Ggf. musst du dann selbst darum kümmern, den vom Schatten überdeckten Hintergrund neu zeichnen zu lassen (Parent.Invalidate?).