СообЧа > База Знаний > Программирование > C, С++

Вопрос

Как на 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 Сообщество Чайников
Контактная информация