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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2008, 11:14   #1
JoanM
Дешево пишу проги)
Форумчанин Подтвердите свой е-майл
 
Аватар для JoanM
 
Регистрация: 12.12.2006
Сообщений: 106
Сообщение Прозрачность компонента

Превед, о юзер, смотрящий оную тему!

У меня такой вопрос, который ещё не обсуждался на форуме:
как сделать компонент прозрачным (не полностью), например TLabel,
примерно так, чтобы можно было реализовать плавное появление и исчезание компонента. Это типа свойств AlphaBlend и AlphaBlendValue формы.

Что-то юзать внутри компонентов их отрисовку не охота - да и не просто это, тем более, что не знаю как.
JoanM вне форума Ответить с цитированием
Старый 24.01.2008, 09:05   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я выкладывал коды
BOBAH13 вне форума Ответить с цитированием
Старый 24.01.2008, 16:00   #3
JoanM
Дешево пишу проги)
Форумчанин Подтвердите свой е-майл
 
Аватар для JoanM
 
Регистрация: 12.12.2006
Сообщений: 106
По умолчанию

Эти коды насчёт слойв (грузанутых). Отдельные компоненты с эффектом прозрачности где-нибудь скачать можно?
JoanM вне форума Ответить с цитированием
Старый 24.01.2008, 22:11   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Хотя я так подумал, по сути ведь каждый компонент это битовое изоброжение в конце концов и так... просто получаем область TRect родителя того участка под данным компонентом копируем в отдельный битовый массив, а потом функцией наложения битового массива нашего компонента с уровнем прозрачности получаем итог, который можем вывести на канву нашего компонента. Таким образом получим эффект прозрачности, но придеться или переопределять прорисовку компонентов или сделать свои.
BOBAH13 вне форума Ответить с цитированием
Старый 25.01.2008, 08:59   #5
JoanM
Дешево пишу проги)
Форумчанин Подтвердите свой е-майл
 
Аватар для JoanM
 
Регистрация: 12.12.2006
Сообщений: 106
По умолчанию

А кто-нибудь знает ссылки на готовые такие компоненты?
JoanM вне форума Ответить с цитированием
Старый 26.01.2008, 12:10   #6
M.a.s.t.e.R
Пользователь
 
Аватар для M.a.s.t.e.R
 
Регистрация: 15.01.2008
Сообщений: 10
По умолчанию

AlphBlend всегда прёт
M.a.s.t.e.R вне форума Ответить с цитированием
Старый 26.01.2008, 12:13   #7
JoanM
Дешево пишу проги)
Форумчанин Подтвердите свой е-майл
 
Аватар для JoanM
 
Регистрация: 12.12.2006
Сообщений: 106
По умолчанию

Куда прёт? Видно сразу - новичок.
Во-первых AlphaBlend
Во-вторых, если бы AlphaBlend пёрла, то я бы не обращался с вопросами. А так это только на форме работает, а не на компоненте.
JoanM вне форума Ответить с цитированием
Старый 26.01.2008, 13:51   #8
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Вот получил прозрачность SpeedButton. Вообще эта тема щекотлива Не все так просто как казалось, вся проблема получить перед прорисовкой компонента то что за ним, ловил WM_PAINT но система походу уже перед этим сообщением уже прорисовала ( TButton пробывал )... так что... Ну вообщем смотрите вложение
Вложения
Тип файла: zip Project1.zip (158.3 Кб, 108 просмотров)
BOBAH13 вне форума Ответить с цитированием
Старый 26.01.2008, 13:54   #9
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
.......вся проблема получить перед прорисовкой компонента то что за ним.......
WS_EX_TRANSPARENT
B_N вне форума Ответить с цитированием
Старый 26.01.2008, 14:03   #10
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Почитал я про WS_EX_TRANSPARENT - мне аж страшно стало... Я лучше через слои тогда буду делать и я имеел ввиду сообщение которое приходит перед тем как система прорисует контрол. Да и вообще не понял к чему это вы постили, это же вроде прозрачность методом исключения цвета, а не прозрачность полной области...

Вообщем надо найти момент, когда система начинает рисовать контрол ( TButton, TListBox ... ). После этого можно будет сделать эти компоненты прозрачными, иначе только те у которых есть procedure Paint; как в примере TSpeedButton.

Последний раз редактировалось BOBAH13; 26.01.2008 в 14:12.
BOBAH13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прозрачность sergei64_89 Общие вопросы .NET 1 29.07.2008 21:43
Прозрачность Лубышев Помощь студентам 3 23.01.2008 00:05
Прозрачность ЧИЖ HTML и CSS 5 24.10.2007 17:18
Прозрачность MAcK Общие вопросы Delphi 2 21.03.2007 19:24