Delphi - Valós árnyék helyezése a Form mögé

forráskód letöltése
Ha egy gépen WinXP vagy ennél későbbi verzió van, akkor az képes arra, hogy operációsrendszer szinten készítsen árnyékot különféle ablakokhoz. Az operációs rendszer ezt általában a menü megjelenítésénél szokta kihasználni.
Lehetőségünk van azonban arra, hogy programból saját objektumainkhoz is rendeljünk árnyékot, így például egyszerűen megtehetjük ezt egy Form esetén.
Ehhez a Form-ban felül kell írnunk a CreateParams nevű eljárását, hogy abban egy új stílust tudjunk megadni.
    procedure CreateParams(var Params: TCreateParams); override;
Ezt az új stílust az eljárás Params paraméterében lévő WindowClass property Style property-jén keresztül tehetjük meg úgy, hogy annak aktuális értékéhez hozzáadjuk a $00020000 konstans értéket.
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.WindowClass.Style:=Params.WindowClass.Style + $00020000;
end;