Страница 3 из 3

Re: Прозрачность

Добавлено: 14 апр 2007, 16:54
Колядин Максим
Вот ещё один способ сделать форму прозрачной:

Код: Выделить всё

constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
  // убираем сколлбары, чтобы не мешались
  // при изменении размеров формы
  HorzScrollBar.Visible:= False;
  VertScrollBar.Visible:= False;
  // строим новый регион
  RebuildWindowRgn;
end;
procedure TForm1.Resize;
begin
  inherited;
  // строим новый регион
  RebuildWindowRgn;
end;
procedure TForm1.RebuildWindowRgn;
var
  FullRgn, Rgn: THandle;
  ClientX, ClientY, I: Integer;
begin
  // определяем относительные координаты клиенской части
  ClientX:= (Width - ClientWidth) div 2;
  ClientY:= Height - ClientHeight - ClientX;
  // создаем регион для всей формы
  FullRgn:= CreateRectRgn(0, 0, Width, Height);
  // создаем регион для клиентской части формы
  // и вычитаем его из FullRgn
  Rgn:= CreateRectRgn(ClientX, ClientY, ClientX + ClientWidth, ClientY +
ClientHeight);
  CombineRgn(FullRgn, FullRgn, Rgn, rgn_Diff);
  // теперь добавляем к FullRgn регионы каждого контрольного элемента
  for I:= 0 to ControlCount -1 do
    with Controls[I] do begin
      Rgn:= CreateRectRgn(ClientX + Left, ClientY + Top, ClientX + Left +
Width, ClientY + Top + Height);
      CombineRgn(FullRgn, FullRgn, Rgn, rgn_Or);
    end;
  // устанавливаем новый регион окна
  SetWindowRgn(Handle, FullRgn, True);
end;
end.

Re: Прозрачность

Добавлено: 14 апр 2007, 18:26
Blood_Magic
Колядин Максим, читать с конца начинаем? 1 страницу посмотрите

Re: Прозрачность

Добавлено: 14 апр 2007, 22:16
Колядин Максим
Ой... Прошу прощения за проявленную невнимательность.

Re: Прозрачность

Добавлено: 23 апр 2007, 16:45
Anticler
а может кто знает как сделать полупрозрачность

Re: Прозрачность

Добавлено: 24 апр 2007, 12:11
Yura_ua
Anticler писал(а):полупрозрачность
Выставляеш у формы свойства
AlphaBlending=true
AlphaBlendValue - от 0 до 255

Re: Прозрачность

Добавлено: 24 апр 2007, 12:48
Anticler
Yura_ua писал(а):Выставляеш у формы свойства
AlphaBlending=true
AlphaBlendValue - от 0 до 255
Я имею ввиду по рисунку или хотябы градиент полупрозрачности (непрозрачность мягко переходящая в прозрачность)