C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Прозрачность формы
Антон
  Отправлено: 31.12.2005, 14:08


Не зарегистрирован







Как сделать форму прозрачной чтобы рисунок(к примеру) оставался
непрозрачным. sad.gif
Halfdead
Отправлено: 03.01.2006, 03:38


Не зарегистрирован







Как вариант — выставить свойства формы:
CODE

BorderStyle = bsNone
Color = clFuchsia
TransparentColorValue = clFuchsia
TransparentColor = true

Антон
  Отправлено: 03.01.2006, 15:35


Не зарегистрирован







biggrin.gif Спасибо все работает!
Grigoriy
Отправлено: 11.01.2006, 02:03


Мастер участка

Группа: Участник
Сообщений: 381



А как сделать форму полупрозрачной, кто знает ?
Konstantine
Отправлено: 11.01.2006, 09:25


Мастер участка

Группа: Модератор
Сообщений: 545



AlphaBlend — вроде так smile.gif в свойствах формы
Gedeon
Отправлено: 11.01.2006, 09:34


Ветеран

Группа: Модератор
Сообщений: 1742



Для ВСВ6 и выше
св-ва
AlphaBlend
AlphaBlendValue
Grigoriy
Отправлено: 11.01.2006, 16:09


Мастер участка

Группа: Участник
Сообщений: 381



QUOTE (Gedeon @ 11/01/2006, 09:34)
Для ВСВ6 и выше
св-ва
AlphaBlend
AlphaBlendValue

нормально
Gal
Отправлено: 11.01.2006, 19:42


Станционный диспетчер

Группа: Участник
Сообщений: 124



Для тех у кого ВСВ5
CODE

static
void  FuncTransparency(HWND Handle, int  Percent)
 {
  if ((Percent < 101) && (Percent > 0))
   {
    int    Transparency;
    long   ExtStyle;

    Transparency = Percent;//насколько прозрачным будет окно (1-100%)
    ExtStyle = GetWindowLong(Handle, GWL_EXSTYLE);
    SetWindowLong(Handle, GWL_EXSTYLE, ExtStyle | WS_EX_LAYERED);
    SetLayeredWindowAttributes(Handle, 0 , (255 * Transparency) / 100, LWA_ALPHA);
   }
Rius
Отправлено: 12.01.2006, 06:39


Мастер участка

Группа: Участник
Сообщений: 321



забыли указать, что прозрачность работает только на windows 2000 и выше, на windows 9x можно сделать только дыры в окнах через регионы.

Вернуться в Вопросы программирования в C++Builder