Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.043 c
14-84673
aga
2003-06-10 10:34
2003.06.26
Гитарный процессор


14-84598
nick-from
2003-06-09 11:39
2003.06.26
Подключение контрольно кассовой машины к компу


14-84514
Leonid
2003-06-03 13:19
2003.06.26
Надо решить пару задач на Delphi - 10$


3-83895
Arkady
2003-06-03 10:07
2003.06.26
Многопользовательский доступ в MS Access 2000


1-84413
qwerty2
2003-06-06 16:32
2003.06.26
Создание DCOM объекта в Win98