Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Полупрозрачность окна


Автор: chevengure 22.6.2006, 14:29
Есть код:
void HalfTransparent(int trs)
{
typedef DWORD (WINAPI *PSLWA)(HWND, DWORD, BYTE, DWORD);
PSLWA pSetLayeredWindowAttributes;
HMODULE hDLL = LoadLibrary ("user32");
pSetLayeredWindowAttributes = (PSLWA) GetProcAddress
(hDLL,"SetLayeredWindowAttributes");
if (pSetLayeredWindowAttributes != NULL) 
{
SetWindowLong (Form1->Handle, GWL_EXSTYLE, 
                             GetWindowLong(Form1->Handle, GWL_EXSTYLE) | 0x80000);
pSetLayeredWindowAttributes (Form1->Handle, 0, abs(trs*2.55), 2);
}
FreeLibrary (hDLL); 
}
Он позволяет регулировать прозрачность окна, но вместе с окном становяться прозрачными и все элементы на нем, как то кнопки, edit'ты и т.п.

trs и отвечает за прозрачность (вроде бы).

Вопрос: можно ли как-нибудь сделать, что бы сама форма становилась прозрачной, а ее компоненты нет?
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)