Вниз
Скачать: CL | DM;

Народ, помогите!!!!, Как сделать форму прозрачной...   Найти похожие ветки 

← →
Ifrit   (2003-03-09 13:32) [0]

Народ, помогите!!!!, Как сделать форму прозрачной, т.е. помещаю на неё TImage с каким-то рисунком и что-бы был виден только этот рисунок (без формы).


← →
Mihey   (2003-03-09 20:29) [1]

Используй регионы, созданные по подобию картинки. В общем, даю две функции:

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;

Применяй их к дескриптору окна. Если надо примеры - то дам. Готовое решение уже оформлено ввиде компонента TPlasma. Найдёшь его где угодно.


← →
Ifrit   (2003-03-10 16:33) [2]

Большое спасибо... Был бы очень признателен, если бы дал примеры :)


← →
Kair ©   (2003-03-10 20:55) [3]

Form1.Color:=clRed;
Form1.TransparentColor:=clRed;
Form1.TransParent:=true;
Image1.Transparent:=true;

Но на компе где с видео-картой проблемы, видно.


← →
PWWA ©   (2003-03-14 17:08) [4]

есть библиотека компонентов 1st Class но она только под Дельфи 5, других пока не нашел.... относительно шустрая штука. и кроме того через "просветы" можно управлять окнами, находящимися снизу


← →
Mihey   (2003-03-14 18:07) [5]

Юзая регионы можно действительно юзайть под формой что угодно. Есть компонент TPlasmaForm, он простенький, реализует этот принцип.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-84382
Dr. Andrew
2003-06-09 11:46
2003.06.26
Max масштабирование (увеличение) Bitmap формата 24-bit или 32-bit


1-84155
REA
2003-06-11 10:20
2003.06.26
Как сохранить список


3-84002
AlexBut
2003-05-29 06:39
2003.06.26
Код ошибки Jet


1-84369
[BAD]Angel
2003-06-16 23:17
2003.06.26
Помогите с ListBox


1-84271
Silver Eagle
2003-06-14 12:26
2003.06.26
Проблема - EAccessViolation




   Наверх