Ещё одна проблема с прозрачностью

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

Ещё одна проблема с прозрачностью

Сообщение zHackLeX » 01.08.2005 (Пн) 16:37

Когда форма SetParent'ом сносится на другую форму, я не в силах применить к ней прозрачность (SetLayeredWindowAttributes). А надо бы :?
:D

Итак, вопрос и собсно проблема:
- Невозможность создания прозрачной формы в другой форме.
Обычная форма легко становится прозрачной, перенесённая - никогда.

Контекст проблемы:
- Требуется реализовать диалоговое окно настроек ("страницы свойств") так, как они реализованы в самой винде. Причина: на прозрачном окне прозрачными станут все участки указанного цвета, этим я добьюсь и прозрачности чекбоксов и радиобуттонов, чего невозможно добиться по-другому. А прозрачность чекбоксов нужна потому, что у TabStrip'a в Windows XP градиентная заливка, которая не просвечивает ("заслоняется") серым фоном чекбоксов и т. п.

Помогите, плз...
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 02.08.2005 (Вт) 0:46

А это чужое окно от твоего процесса? Если нет, то вживление в чужой процес своей процедуры где-то в FAQ.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 02.08.2005 (Вт) 6:22

Прозрачность окна работает на окнах только верхнего уровня. Когда сносишь форму SetParebt-ом на другую, она автоматически становится окном неверхнего уровня. Поэтому прозрачность нужно устанавливать верхнему окну...
А я все практикую лечение травами...

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 02.08.2005 (Вт) 14:34

Twister писал(а):Прозрачность окна работает на окнах только верхнего уровня. Когда сносишь форму SetParebt-ом на другую, она автоматически становится окном неверхнего уровня. Поэтому прозрачность нужно устанавливать верхнему окну...


Контекст проблемы: создание СТРАНИЦ СВОЙСТВ!
что даст мне прозрачность окна ВЕРХНЕГО УРОВНЯ?


ЗЫ. Народ, это вообще-то возможно?
Сделать CheckBox с прозрачным фоном, например?
Как?
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 02.08.2005 (Вт) 14:48

Сделать CheckBox с прозрачным фоном, например?

Ты имеешь ввиду только чекбокс, а форму нет? По-моему так не получится, я уж писал почему...
А я все практикую лечение травами...

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 02.08.2005 (Вт) 16:15

Если это надо совсем позарез, можно попробовать через BS_OWNERDRAW рисовать
Нет меня больше

AlexBlack
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 18.07.2005 (Пн) 19:14
Откуда: Киефф, Юкрейн...

Сообщение AlexBlack » 02.08.2005 (Вт) 16:22

Гм.... а сделать свой контрол не пробовал?
Вроде б на UserControl можно бросить прозрачность.....
Я даже как-то писал пример....

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 05.08.2005 (Пт) 8:59

А потом применить XP Visual Styles. Мило.
Как?


ЗЫ. У меня, например, вообще StyleXP стоит.
Поэтому снимать скриншоты с чекбоксов в трёх (шести)
состояниях не предлагать :)

Или UserControl подчиняется SetLayeredWindowAttributes?



ЗЗЫ.
А вот если СПЕРВА SetLayeredWindowAttributes
А потом SetParent...


ЗЗЗЫ. А как это реализовано в самой винде???
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 05.08.2005 (Пт) 9:02

Да, если бы не стиль ХР, я бы не парился - прозрачность просто не нужна, да и в конце концов прозрачным фоном обладают элементы MSForms 2.0+...



Второй ракурс вопроса: можно ли в ХР-стиле отрисовать чекбокс библиотеки fm20.dll (fm30.dll)?
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 15.02.2006 (Ср) 21:32

Ну как, удалось чекбоксы прозрачными сделать.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 15.02.2006 (Ср) 21:41

Некрофилы просыпались к ночи и воскрешали скелетов из могил......
Если всё делать своими ручками, они скоро отвалятся !

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.02.2006 (Чт) 8:43

Вот, блин, некрофилы...
Lasciate ogni speranza, voi ch'entrate.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 16.02.2006 (Чт) 13:30

Зануды вы! Что если темка старая то уже все, трогать не моги? Ну хорошо, давайте я 10 000 новых тем создам, ура товарищи! И искать потом будет удобно, зашибись!


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

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

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

    TopList