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

Вниз

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

 
Mr Black   (2003-01-05 02:34) [0]

Кто-нибудь знает как сделать любую часть формы сделать
прозрачной. Например чтобы был прозрачным левый верхний угол
обычной формы.


 
Evgeny ©   (2003-01-05 10:53) [1]

используй регионы.


 
Mihey   (2003-01-05 20:29) [2]

Лучше используй компонент, но вот у меня есть две функции, которые могут задать регионы компоненту по маске и восстановить то, что сделали:

procedure CropWindow( Handle: HWnd; Picture : TPicture );
var
hrgn, hrgn1 : integer;
hdc : integer;
x, y : integer;
Color : TColor;
begin
// Color := Picture.Bitmap.Canvas.Pixels[ 0, 0 ];
Color := clWhite;
hdc := GetDC( Handle );
hrgn := CreateRectRgn( 0, 0, Picture.Graphic.Width, Picture.Graphic.Height );
for x := 1 to Picture.Graphic.Width do
for y := 1 to Picture.Graphic.Height do
if Picture.Bitmap.Canvas.Pixels[ x - 1, y - 1 ] = Color then begin
hrgn1 := CreateRectRgn( x - 1, y - 1, x, y);
CombineRgn( hrgn, hrgn, hrgn1, RGN_DIFF );
DeleteObject( hrgn1 );
end;
SetWindowRgn( Handle, hrgn, true );
//DeleteObject( hrgn );
ReleaseDC( Handle, hdc);
end;

procedure UncropWindow( Handle: HWnd; Picture : TPicture );
var
hrgn : integer;
hdc : integer;
begin
hdc := GetDC( Handle );
hrgn := CreateRectRgn( 0, 0, Picture.Graphic.Width , Picture.Graphic.Height );
SetWindowRgn( Handle, hrgn, true );
ReleaseDC( Handle, hdc );
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
14-30567
Nick-From
2003-03-24 12:01
2003.04.10
Нужен пример работы с MMX


1-30422
любитель
2003-03-31 05:24
2003.04.10
Можно ли сделать бесконечный цикл в Delphi


1-30392
Павел
2003-03-30 09:16
2003.04.10
Stretch неработает?!


4-30657
Ihor Osov'yak
2003-02-11 17:18
2003.04.10
уникальный UID для сеанса работы - где он?


1-30459
Kron
2003-03-31 11:39
2003.04.10
Как обработать событье максимизации формы?