Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.17;
Скачать: CL | DM;

Вниз

Прозрачность окон   Найти похожие ветки 

 
Lamo ©   (2001-09-10 06:23) [11]

Не знаю, как насчёт полупрозрачности, но вот следующая программка делает окошко прозрачным...

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
private
procedure RebuildWindowRgn;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
HorzScrollBar.Visible:= False;
VertScrollBar.Visible:= False;
// строим новый регион
RebuildWindowRgn;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
// строим новый регион
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.



Страницы: 1 вся ветка

Текущий архив: 2002.01.17;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.011 c
3-52493
andey
2001-12-13 19:15
2002.01.17
Где ошиика в запросе


3-52463
Wladimir
2001-12-14 07:50
2002.01.17
Множественное удаление записей в таблице


1-52574
Марина
2001-12-28 10:28
2002.01.17
SysTray или RxTrayIcon


1-52588
Eraser
2001-12-29 14:15
2002.01.17
О заполнении массива


14-52649
vic_vm
2001-11-21 13:48
2002.01.17
Плакат