Полупрозрачное окно с непрозрачными контролами

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rostik Ultra (2)
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 159
Зарегистрирован: 10.05.2005 (Вт) 2:41
Откуда: Антарктическая республика

Полупрозрачное окно с непрозрачными контролами

Сообщение Rostik Ultra (2) » 24.05.2006 (Ср) 2:41

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

_________________
Мой сайт http://mentalprograms.narod.ru/ - бесплатные развивающие программы
Последний раз редактировалось Rostik Ultra (2) 24.05.2006 (Ср) 3:17, всего редактировалось 2 раз(а).

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2006 (Ср) 2:55

Никак.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Rostik Ultra (2)
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 159
Зарегистрирован: 10.05.2005 (Вт) 2:41
Откуда: Антарктическая республика

Сообщение Rostik Ultra (2) » 24.05.2006 (Ср) 3:11

BV писал(а):Никак.


Чё совсем никак ? А как нибудь регионы вырезать нельзя ?
Мой сайт http://mentalprograms.narod.ru/ - бесплатные развивающие программы

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2006 (Ср) 3:14

Регионы-то верезать можно, но как это связано с полупрозрачностью?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.05.2006 (Ср) 3:20

А ведь поддерживаются и альфа-каналы! :idea:
Изображение

Rostik Ultra (2)
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 159
Зарегистрирован: 10.05.2005 (Вт) 2:41
Откуда: Антарктическая республика

Сообщение Rostik Ultra (2) » 24.05.2006 (Ср) 3:32

tyomitch писал(а):А ведь поддерживаются и альфа-каналы! :idea:


Ну так есть способ ?

_________________
Мой сайт http://mentalprograms.narod.ru/ - бесплатные развивающие программы

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2006 (Ср) 3:38

tyomitch писал(а):А ведь поддерживаются и альфа-каналы! :idea:


Это какие? Аля PNG? Если да, то это прокатит на статическом окне, на перемещаемом тормоза обеспечены.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.05.2006 (Ср) 3:51

Откуда тормоза-то? Один раз задаю альфа-канал, всю остальную работу Винда делает сама.
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2006 (Ср) 4:01

Боюсь, мы говорим о разных вещах. Какой именно метод ты имеешь ввиду?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.05.2006 (Ср) 4:13

ULW_ALPHA+AC_SRC_ALPHA
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2006 (Ср) 4:21

Так вот оно что... А то, что это не поддерживается на Win9x - мелочь?

Я говорю о прорисовке окна с учётом Alpha на фоне отснятого участка экрана. Работает, начиная с Win98.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Wild VB Code for Food
Постоялец
Постоялец
 
Сообщения: 387
Зарегистрирован: 16.06.2005 (Чт) 17:34
Откуда: ты, друг? =)) Сообщений: 1234

Сообщение Wild VB Code for Food » 24.05.2006 (Ср) 5:25

эх, жалко РейШейд такой добрый....... :wink:


Тема баян - уже поднималась, даже у кого=то в подписи сцылка была.
Лучше думать чем жевать.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.05.2006 (Ср) 16:57

BV писал(а):Так вот оно что... А то, что это не поддерживается на Win9x - мелочь?

Это надо у Rostik-а спросить: нужна ему поддержка Win9x, или не нужна.
Если не нужна, то этот метод одновременно простой и быстрый.
Изображение

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.05.2006 (Ср) 17:12

К вопросу о поддержке Win9х - по моему это лишнее.

Сейчас на ней чтото типа 7% пользователей.

Так что, ХР решает :)

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 25.05.2006 (Чт) 5:47

http://bbs.vbstreets.ru/viewtopic.php?t=17820
Осталось добавить полу.... :)
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 25.05.2006 (Чт) 17:30

Matew, видимо, пропустил 4 пост этой темы.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 26.05.2006 (Пт) 1:29

BV, ссылка не очевидна :(
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 142

    TopList