...enable the drop shadow effect on a window (XP)?

Author: Thomas Stutz

Category: Forms

{
  Question:

  I saw some applications that override the default window behaviour in that
  way that the window display a thin transparent shadow. How to do this?

  Answer:

  Override the CreateParams method of your form and add the
  CS_DROPSHADOW flag to the WindowClass.Style.
  
  CS_DROPSHADOW Enables the drop shadow effect on a window.
  The effect is turned on and off through SPI_SETDROPSHADOW.
  Typically, this is enabled for small, short-lived windows such as
  menus to emphasize their Z order relationship to other windows.
}

type
  
TForm1 = class(TForm)
  protected
    procedure 
CreateParams(var Params: TCreateParams); override;
  end;

var
  
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CreateParams(var Params: TCreateParams);
const
  
CS_DROPSHADOW = $00020000;
begin
  inherited
;
  Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base