15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту

Borland C++ Builder FAQ
Составлен по материалам форума на Исходниках.Ru
Содержание Последнее обновление: 14.02.2004

Как сделать полупрозрачное окно?

Автор: OlegGG
Исходная ссылка: - - -

В 9x эта штука не предусмотрена. Там это можно сделать "ручками", но при этом программа будет "жрать" очень много ресурсов. Но в линейке NT, начиная с 2000, это можно сделать.

Пример (окно будет плавно проявляться):
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED);
for (int x = 0;x<255;x+=5)
        {
        SetLayeredWindowAttributes(Handle, 0, x, LWA_ALPHA);
        Application->ProcessMessages();
        Sleep(1);
        }
SetLayeredWindowAttributes(Handle, 0, 255, LWA_ALPHA);
Начиная с C++Builder 6, в свойствах формы появились AlphaBlend и AlphaBlendValue.
Здесь всё проще: ставим AlphaBlend в true, а потом балуемся со значением AlphaBlendValue.