Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прозрачная кнопка 
:(
    Опции темы
ildvild
Дата 22.12.2010, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.10.2010

Репутация: 1
Всего: 1



Помогите сделать такой же эффект у кнопок как на скрине любыми способами кроме скинов и желательно без VLC.

user posted image
PM MAIL   Вверх
casinosoftguru
Дата 23.12.2010, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.12.2008

Репутация: нет
Всего: нет



известные мне способы 
1) со скинами - неподходит ?
2) с VCL - свойство Transparent у многих кнопок в сторонних компонентах присутствует
3) с помощью TImage - но это опять таки VCL ?
4) рисуешь кнопку сам систмеными функциями.. приведи код которым ты рисуешь такую кнопку и там найдем тогда куда подставить параметр прозрачности, это обычно что-то типа WS_EX_TRANSPARENT (integer)
5) можно найти компонент с таким свойством и в исходниках, расковырять его и скопировать код создания объекта.. вопрос в том не будет ли это идентично использованию этого стороннего компонента в рамках твоих условий\ограничений
PM MAIL   Вверх
Frees
Дата 23.12.2010, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



кнопки не прозрачные а полу прозрачные 
в VCL - это AlphaBlend и AlphaBlendValue

а если на АПИ - это
SetLayeredWindowAttributes


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Snowy
Дата 23.12.2010, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



На уровне API, прозрачные элементы есть только в 7-ке.
До 7-ки только окно целиком.
Поскольку, 7-ку я никогда не видел, то подсказать мне нечего smile
PM MAIL   Вверх
casinosoftguru
Дата 23.12.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.12.2008

Репутация: нет
Всего: нет



Цитата(Frees @  23.12.2010,  15:41 Найти цитируемый пост)
а если на АПИ - этоSetLayeredWindowAttributes

а слово Window как к кнопкам относится ??? это ведь процедура\функция для многослойных окон, а не для кнопок

PM MAIL   Вверх
0x0027
Дата 23.12.2010, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 29.1.2010

Репутация: нет
Всего: -1



Цитата(casinosoftguru @  23.12.2010,  15:57 Найти цитируемый пост)
а слово Window как к кнопкам относится ???

самым прямым, а вот то что SetLayeredWindowAttributes не для Child-окон - это верно.

по теме: для иллюзии прозрачности можно восстанавливать под собой фон родителя.
PM MAIL   Вверх
ildvild
Дата 23.12.2010, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.10.2010

Репутация: 1
Всего: 1



Спасибо всем откликнувшим

кнопку рисую так
Код

var
   Rect: TRect;

 begin
   Rect := Bounds(10, 10, 100, 100);

   with Canvas do begin
     DrawEdge(Handle, Rect, BDR_RAISEDINNER, BF_RECT);

   end;
 end;

Как вариант можно сделать эффект как у speedbutton с Flat. только чтоб рамочка была все время.

Насчет VLC. можно с ним. Главное чтоб без скинов. Или если кто нибудь знает готовый компонент скиньте плиз.

Еще слышал про альфа смешивание: если кнопкой будет image, но все перерыл так и не нашел как это сделать.

Заранее спасибо.

Это сообщение отредактировал(а) ildvild - 23.12.2010, 23:01
PM MAIL   Вверх
ildvild
Дата 25.12.2010, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.10.2010

Репутация: 1
Всего: 1



Все разобрался. Скачал готовый компонент.

Это сообщение отредактировал(а) ildvild - 26.12.2010, 21:49
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0699 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.