ExStyle eines VCL Fensters ändern |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
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;
{...}