Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.07.2010, 18:41
Аватар для PeKpyT
PeKpyT PeKpyT вне форума
Прохожий
 
Регистрация: 06.07.2010
Адрес: Internet
Сообщения: 3
Репутация: 10
По умолчанию Прозрачность в Delphi

Можно сделать так чтобы только форма была прозрачной, а компоненты которые на ней расположены оставались нормальными? и как это делается? (еще вопрос можно ли сделать только часть формы прозрачной?)

Последний раз редактировалось PeKpyT, 06.07.2010 в 18:56.
Ответить с цитированием
  #2  
Старый 06.07.2010, 20:02
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Да можно.

Свойство формы TransparentColor := true;
TransparentColorValue:=ClGreen;

все что будет зеленое будет прозрачным.

2-ой вопрос да можно.
выполняем пункт 1. цвет формы ставим green кидаем панель и растягиваем на половину.
Ответить с цитированием
  #3  
Старый 06.07.2010, 20:11
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Смотря как стоит задача.
В общем случае, прозрачность части формы делается через регионы. Это самый правильный путь. Кстати, скины используют именно этот путь. Все остальное - это обходной путь для реализации ПОЧТИ того, что хочется. Еще, начиная с Delphi 7 можно управлять полу-прозрачностью всей формы (вместе со всеми компонентами, которые на форме расположены). Это делается с помощью средств операйионной системы и, соответсвенно, дает делать только так, как расчитано и ни как иначе.
Ответить с цитированием
  #4  
Старый 06.07.2010, 20:31
Аватар для PeKpyT
PeKpyT PeKpyT вне форума
Прохожий
 
Регистрация: 06.07.2010
Адрес: Internet
Сообщения: 3
Репутация: 10
По умолчанию

Black Raider
Цитата:
Да можно.

Свойство формы TransparentColor := true;
TransparentColorValue:=ClGreen;

все что будет зеленое будет прозрачным.

Это чото нето! форма ссловно "дырявая" получается, а мне нужно именно прозрачная, ктому же комп как то напрягается, да еще и к правому краю монитора "прилипает". А можно ли ето реализовать спомощью свойства AlphaBlendValue?

lmikle
Цитата:
Смотря как стоит задача.

Вообщем мне нужно чтобы форма была прозрачной приблизительно как при AlphaBlendValue=220, а остальные элементы управления расположеные на форме имели нормальную прозрачность!
Ответить с цитированием
  #5  
Старый 06.07.2010, 21:03
Аватар для urahara
urahara urahara вне форума
Новичок
 
Регистрация: 16.01.2010
Сообщения: 86
Репутация: 35
По умолчанию

Цитата:
Сообщение от PeKpyT
Black Raider
Вообщем мне нужно чтобы форма была прозрачной приблизительно как при AlphaBlendValue=220, а остальные элементы управления расположеные на форме имели нормальную прозрачность!
способ 1. две формы на одной прозрачность в 220, поверх вторую с кнопками, обрезав лишние используя регионы.
способ 2. UpdateLayeredWindow.

во вторым способам не справишься наверняка.
__________________
Arrrgh
Ответить с цитированием
  #6  
Старый 06.07.2010, 22:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Если делать честно, то надо писать свою форму, которая реализует прозрачность не за счет возможностей windows. Т.е. она как-бы не прозрачная, но сама отрисовывает на канве то, что скрыто под ней. При этом компоненты будут работать нормально.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025