Home » Tipps & Tricks » Komponenten » TForm » ExStyle eines VCL Fensters ändern

ExStyle eines VCL Fensters ändern

Bestimmte Eigenschaften von Fenstern (wie z.B. das WS_EX_NOACTIVATE, was ein in den Vordergrund Bringen des Fenters verhindert) erfordern es, den Aufruf der CreateWindowEx, einem Windows API Call, zu verändern. Die VCL ermöglicht jedoch durch Überschreiben der CreateWindowHandle- Prozedur die Parameter zu ändern, welche beim Erzeugen des Fensters mittels CreateWindowEx genutzt werden.Folgender Code erzeugt mithilfe der VCL ein Fenster, das durch Anklicken nicht in den Vordergrund kommt:

interface

{...}

TForm1 = class(TForm)
public
  procedure CreateWindowHandle(const Params: TCreateParams); override
end;

{...}

implementation

{...}

procedure TForm1.CreateWindowHandle(const Params: TCreateParams); 
override var
  NewParams: TCreateParams;
begin
  NewParams  := Params;
  NewParams.ExStyle := NewParams.ExStyle or WS_EX_NOACTIVATE;
  inherited CreateWindowHandle(NewParams);
end;

{...}