Naja .... du könntest das Fenster zerstören und neu erstellen lassen, doch das wäre ungleich aufwändiger und weniger
...sexy... als den Wert für den Ex. Style einfach mit Get/SetWindowLong zu verändern
Dein Setter würde jetzt ungeähr so aussehen:
Delphi-Quellcode:
procedure TDingsDa.SetTransparency(
const Value: Boolean);
begin
FTransparency := Value;
if Value
then
SetWindowLong(
Handle,GWL_EXSTYLE, GetWindowLong(
Handle, GWL_EXSTYLE)
or WS_EX_Transparent);
else
SetWindowLong(
Handle,GWL_EXSTYLE, GetWindowLong(
Handle, GWL_EXSTYLE)
and not WS_EX_Transparent);
end;