Окно по рисунку

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Разбойному нападению сотрудников фирмы «Майкрософт» подверглась штаб-квартира компании «Sun». Хулиганы вышибли в здании все двери и взамен установили окна.

TStretchHandle = class(TCustomControl)

private

procedure WMEraseBkgnd(var message: TWMEraseBkgnd); message WM_ERASEBKGND;

procedure WMGetDLGCode(var message: TMessage); message WM_GETDLGCODE;

protected

procedure Paint; override;

property Canvas;

public

procedure CreateParams(var Params: TCreateParams); override;

end;

procedure TStretchHandle.CreateParams(var Params: TCreateParams);

begin

{ set default Params values }

inherited CreateParams(Params);

{ then add transparency }

Params.ExStyle := Params.ExStyle WS_EX_TRANSPARENT;

end;

procedure TStretchHandle.WMGetDLGCode(var message: TMessage);

begin

{ completely fake erase, don’t call inherited, don’t collect $200 }

message.Result := DLGC_WANTARROWS;

end;

procedure TStretchHandle.WMEraseBkgnd(var message: TWMEraseBkgnd);

begin

{ completely fake erase, don’t call inherited, don’t collect $200 }

message.Result := 1;

end;

procedure TStretchHandle.Paint;

begin

inherited Paint;

with Canvas do

begin

// рисуете что нужно —

// где не рисовали, там будет «прозрачно»

end;

end;

{/codecitation}

Добавить комментарий