Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2009, 14:36   #1
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Вопрос Эфект затемнения раб стола + Формы.(иное решение)

Доброго времени суток
Возник такой вопрос ( ради интереса ) , сделать такой вот эффект :

Суть : Вся рабочая область затемняется , и делается "полупрозрачной" одновременно с этим выделяется нужная мне форма , что какбы контрастит и обращает внимание на мою форму.

Моё решение таково : сделать 2 формы , форму "тень" и "основную".
Форма "тень" устанавливается на прозрачности допустим 180 растягивается на весь экран , со свойством "по верх всех окон" , 2рая форма устанавливается с тем же свойством и появляется поверх 1вой)

Я всё сделал , всё работает как нужно , вопрос в другом, может есть элегантнее способ?

//Пс лазил в поисках инфы (не по теме) , и вот наткнулся на эту фичу , заинтересовало )

Последний раз редактировалось Lime; 20.06.2009 в 14:42.
Lime вне форума Ответить с цитированием
Старый 20.06.2009, 20:07   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Создается окно с состоянием ПОВЕРХ всех остальных окон HWND_TOPMOST, перед его появлением готовим фон для вашего окна (DC := CreateDC('DISPLAY', NIL, NIL, NIL). Теперь у нас есть битмап на котором все что было на экране. Затемним этот битмап и покажем окошко, на котором отрисуем наш битмап. Теперь делаем новые окна (у которых родитель, наше первое окно "фон"). Все. Радуемся
BOBAH13 вне форума Ответить с цитированием
Старый 20.06.2009, 20:54   #3
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

А вот если в "Windows XP" нажать в меню "Пуск" пункт "Выключение", то появится панелька "Выключить компьютер"...
После этого всё кроме панельки обесцвечивается... Плавно...
Винда тоже делает скрин экрана или специальное окно создаёт?

И я видел подобный эффект во многих других программах (плюс в некоторых курсор нельзя переместить за окно программы)...

Вот как это делают? Видел много разных способов, но они либо жутко тормозили либо были какие-то неуклюжие...

Ну допустим что про курсор - это "Windows.ClipCursor", так может и про затемнение есть какая-нибудь готовая функция?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 21.06.2009, 00:22   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
затемнение есть какая-нибудь готовая функция?
Нет. Вам предоставлен набор API, то как Вы их соберете (примените) это Ваше личное дело, и именно от Вас зависит
Цитата:
они либо жутко тормозили либо были какие-то неуклюжие...
Я предоставил хороший вариант, поверьте, я в таких штуках (украшениях) для винды вроде свой человек
BOBAH13 вне форума Ответить с цитированием
Старый 21.06.2009, 00:30   #5
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Цитата:
Винда тоже делает скрин экрана или специальное окно создаёт?
Скорее всего скрин, так как затемнённые окна не обнавляются на экране, хотя работают...
Плюс скрин легко можно затемнить...
Виталий Серов вне форума Ответить с цитированием
Старый 22.06.2009, 21:08   #6
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Хорошо

Спасибо за отзывы
Отвечу :
В моём решении сделать затемненние проще простого ... просто плавно убирается прозрачность 2рой формы , менять соответственно можо от 0 до 255 , можно сделать полностью прозрачным можно наоборот : непрозрачным.
"+" в этосм способе , что всё что под нашим "фоном" должно быть видно менятся и так далее (если конечно фон прозрачный). Так же это не та навызывает ( опятьже от прозрачности зависит) , я например не люблю когда какая либо программа черезчур выделяется из отсальных , хотя начало темы было именно такой)

На тему обесцвечивания при выключении винды : Сделай эксперемент , запусти поиск ( там тузик анимированный ) и нажми выключение , винда какраз и делает скрин потом его "плавно обесцвечивает" а если сделать с формой ( думаю возможно ) то опять же под нашим окном останется живая рабочая область)

Вариант BOBAH13 интересен , но мне больше хотелось бы чтобы под фоном какраз не замирала "жизнь" )
Надеюсь поняли)

//Вот уже не думал что вопрос о формах будет в разделе "мультимедиа"

Последний раз редактировалось Lime; 23.06.2009 в 11:05.
Lime вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу по расчёту налога для кур.раб.по теме:"Налоги в модели Неймана" tanushkaroganova Помощь студентам 0 05.05.2009 11:52
Навигация по картинке с эффектом затемнения AgentVlad HTML и CSS 13 20.04.2009 03:37
Раб. стол в стиле стратегии Altera Операционные системы общие вопросы 6 02.02.2009 18:18
Надоели менять настройки раб.стола Vladislav Компьютерное железо 4 25.05.2008 21:16
скриншоты рабочего стола Alar Общие вопросы Delphi 0 29.10.2006 10:59