Вопрос
Как на C++ с помощью API сделать полупрозрачное окошко?
Ответ
Вот кусок кода на С++
const long WS_EX_LAYERED=0x80000;
const long LWA_ALPHA=0x02;
HINSTANCE hLib=LoadLibrary("user32.dll");
if (hLib!=NULL)
(
long (WINAPI *pfnSetLayeredWindowAttributes)(HWND,long,long,long);
pfnSetLayeredWindowAttributes=(long(WINAPI
*)(HWND,long,long,long))GetProcAddress(hLib,"SetLayeredWindowAttributes");
if (pfnSetLayeredWindowAttributes)
{
SetWindowLong(hWnd,GWL_EXSTYLE,GetWindowLong(hWnd,GWL_EXSTYLE) | WS_EX_LAYERED);
pfnSetLayeredWindowAttributes(hWnd,0,220,LWA_ALPHA);
}
FreeLibrary(hLib);
}
220 — уровень видимости (0-255) сама функция — SetLayeredWindowAttributes
Ivan
Я так понимаю, что это только для Win2000/XP, так как только в них есть стандартные средства для управления прозрачностью окон. Для остальных Виндов процесс ОЧЕНЬ муторный.
IceMan
Copyright 2000-2004 Сообщество Чайников
Контактная информация