![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| fire_boy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.10.2004 Репутация: нет Всего: нет |
Не подскажите можно ли средствами .NET сделать Picture Box прозначным(т.е. чтобы содержимое его отображалось, а сквозь бекграунд можно было видеть другие элементы управления, например)...если нет, то скажите как это сделать через апи и встроить в программу на дот нете
Заранее благодарен |
|||
|
||||
| Гость_Run-time Error |
|
|||
|
Unregistered |
Наверное через SetLayeredWindowAttributes, посмотри в MSDN
|
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
А зачем такая заморочка?
Ставишь PictureBox, задаешь картинку, а внутрь добавляешь свои контролы. Результат тот же. |
|||
|
||||
| fire_boy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.10.2004 Репутация: нет Всего: нет |
Я хочу наложить один Picture Box на другой(одинаковых размеров)...тогда содержимое каждого Picture Box'а будет видно....) Это я так пытаюсь принцип разбиения изображения на слои реализовать
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Лучше всего такое реализовать вручную. То есть хранить в Bitmap'ах или Image'ах изображение каждого слоя, и выводить их на экран по очереди начиная с нижнего(дальнего) слоя. Потом следующий цикл то же самое и т.д....
Можно создавать регион для PictureBox через АПИ, но это намного дольше будет работать, потому как тебе придется каждый слой попиксельно проверять и на этом основании строить регион, который потом через АПИ присваивать PictureBox'у. Еще более извращенней, вместо слоев из PicBox, как-нибудь сделать слои из отдельных форм. У форм есть для таких дел свойство TransparencyKey, которое устанавливает "прозрачный" цвет. Все что будет рисоваться или появляться на форме(включая контролы) с пикселами такого цвета, будет абсолютно прозрачным. С любым из вариантов, готов помочь тебе. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| arilou |
|
||||||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
fire_boy Это самый лучший и быстрый вариант - использование классов из System.Drawing и System.Drawing.Drawing2D.
Я бы не стал таким образом делать - даже одна форма с выставленным TrancparencyKey тормозит. Несколько вообще будут еле-еле крутиться
fire_boy В прицнипе, WinAPI, думается мне, даже не понадобится. Покопай те неймспейсы, которые я указал. Буду вопросы, пиши, мы обязательно поможем. |
||||||
|
|||||||
| fire_boy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.10.2004 Репутация: нет Всего: нет |
У меня, в принципе, все вручную и реализовано...просто подумал, что подобная реализация(с прозрачными Picture Box'ами) будет оригинально выглядеть В любом случае - спасибо за советы |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Приходи еще, не стесняйся -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |