Окно по рисунку
|
Разбойному нападению сотрудников фирмы "Майкрософт" подверглась штаб-квартира компании "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;
|
|