Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ПолупрозрачнойФОРМА [D5, WinME]


Trix ©   (2002-04-24 00:26:00) 

Как делать форму полупрозрачной


arhelon   (2002-04-24 07:29:00) [1]

в Win9x прозрачность не поддерживается.


Chepel   (2002-04-24 02:44:00) [2]

для D5/Win2000 (WinMe??)

//вкл. прозрачность
SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd,
GWL_EXSTYLE) or WS_EX_LAYERED);

//уст. уровень прозрачности
SetLayeredWindowAttributes(hWnd, 0, bAlpha, LWA_ALPHA);

//выкл. прозрачность
SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) and not WS_EX_LAYERED);
RedrawWindow(hWnd, nil, 0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);

где
function SetLayeredWindowAttributes (hWnd: HWND; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): BOOL; stdcall;
импортировать руками из User32.dll

ну и
const
LWA_COLORKEY = $00000001;
LWA_ALPHA = $00000002;

WS_EX_LAYERED = $80000;
WS_EX_TRANSPARENT = $20;

желательно либу цеплять динамически (GetModuleHandle()/GetProcAddress()) чтобы на NT прога не падала выпучив глаза... =)


Наверх

Титульная страница Поиск, карта сайта Написать письмо