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; {...}