![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ПолупрозрачнойФОРМА [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 прога не падала выпучив глаза... =)