Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прозрачность формы 
:(
    Опции темы
Dmi3ev
Дата 1.6.2009, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



Вот делаю возможность настройки внешнего вида окна, его формы, прозрачности (с помощью TrackBar-а)...
Вот код:
Код

void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
        Form2->AlphaBlendValue=TrackBar1->Position;
}

ну так вот, а возможно ли делать прозрачной не всю форму? Скорее всего это реализуется с помощью АПИ... укажите, куда рыть?



--------------------

PM MAIL   Вверх
mrbrooks
Дата 1.6.2009, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Dmi3ev, можно еще делать прозрачность по какому нибудь определенному цвету функцией SetLayeredWindowAttributes()

Добавлено через 4 минуты
Все контролы с белым фоном становятся прозрачные.
Код

SetWindowLong(Form1->Handle, GWL_EXSTYLE,GetWindowLong(Form1->Handle, GWL_EXSTYLE)&WS_EX_LAYERED);
SetWindowLong(Form1->Handle, GWL_EXSTYLE,GetWindowLong(Form1->Handle, GWL_EXSTYLE)|WS_EX_LAYERED);
SetLayeredWindowAttributes(Form1->Handle, clWhite,0,LWA_COLORKEY);

PM MAIL   Вверх
Dmi3ev
Дата 1.6.2009, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



mrbrooks, понял, здорово!
Но мне бы хотелось делать прозрачность не у всей формы, я хочу оставить окантовку (+ панель с свернуть свернуть в окно, закрыть) + меню, чтобы если юзер сделал слшком прозрачной ее, то можно было бы зайти в настройки и исправить все это дело...
Такое возможно? Как это хотя бы примерно делать?
Просто делаю интерфейс, который прозрачность эту использует, те при закрытии программы, она медленно растворяется, а не резко исчезает, переход между окнами тоже уже сделал с помощью этой же прозрачности, а вот сделать так чтобы границы и главное меню не были прозрачными не получается пока...

Добавлено через 9 минут и 50 секунд
Цитата

SetWindowLong(Form1->Handle, GWL_EXSTYLE,GetWindowLong(Form1->Handle, GWL_EXSTYLE)&WS_EX_LAYERED);
SetWindowLong(Form1->Handle, GWL_EXSTYLE,GetWindowLong(Form1->Handle, GWL_EXSTYLE)|WS_EX_LAYERED);
SetLayeredWindowAttributes(Form1->Handle, clWhite,0,LWA_COLORKEY);

получается то, что ты говоришь, но при этом
1) потом нельзя форму за панель таскать, ща посмотрю, что меняется в параметрах...
2) контуры кнопок тоже немного с белым, блики так сказать там есть, они тоже становятся прозрачными...
мне это не совсем подходит...


--------------------

PM MAIL   Вверх
WapCel
Дата 2.6.2009, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Hello all

Код

bool TransparentForm (int Transparency)
{
//int Transparency = 50;//насколько прозрачным будет окно (0-100%)
long ExtStyle = GetWindowLong(Form1->Handle, GWL_EXSTYLE);
SetWindowLong(Form1->Handle, GWL_EXSTYLE, ExtStyle | WS_EX_LAYERED);
SetLayeredWindowAttributes(Form1->Handle, 0 , (255 * Transparency) / 100,
LWA_ALPHA);
return 0;
}

PM MAIL WWW ICQ   Вверх
SVN74
Дата 2.6.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



Цитата(WapCel @  2.6.2009,  19:41 Найти цитируемый пост)
Hello all

This is not right answer. This don't usefull for components otherwise only for  forms...
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.