Кнопка произвольной формы Delphi 7
|
Serz92Li
|
Дата: Понедельник, 08.04.2013, 09:56 | Сообщение # 1
|
Был не раз
Зарегистрирован: 08.04.2013
Группа: Пользователи
Сообщений: 20
Статус: Offline
|
Люди добрые (надеюсь что это так )! Помогите найти компонент или м.б. сущ-т отдельная прога для этих целей. Только работу с регионами не предлагать. Перелопатил до фига страниц так и не нашел, может кто работал с этим? Заранее спасибо. |
|
|
|
|
xXxSh@dowxXx
|
Дата: Понедельник, 08.04.2013, 11:14 | Сообщение # 2
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Ты имеешь ввиду что бы можно было сделать кнопку "Button" к примеру круглой, треугольной, вертикальной и пр. ?
Если да, то есть такие компоненты как "janButtons, dsFancyButton" скачать можно здесь
А можно проще, взяв "TImage" - какую угодно кнопку можно нарисовать, использовав при этом событие OnClick.
Сообщение отредактировал xXxSh@dowxXx - Понедельник, 08.04.2013, 11:33
|
|
|
|
|
Serz92Li
|
Дата: Понедельник, 08.04.2013, 11:38 | Сообщение # 3
|
Был не раз
Зарегистрирован: 08.04.2013
Группа: Пользователи
Сообщений: 20
Статус: Offline
|
По поводу Image, то не проходит анимация нажатия (насколько я помню), а "тыкать в стену" не охота). dsFancyButton - спасибо! но там набор только из трех форм (. janButtons - не ложится с AlphaControl оч. жаль. Хотелось бы программу типа "Регионы" только для кнопок. А есть такая штука, что кнопка принимает форму загруженного рисунка??? |
|
|
|
|
xXxSh@dowxXx
|
Дата: Понедельник, 08.04.2013, 12:53 | Сообщение # 4
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Цитата (Serz92Li)
По поводу Image, то не проходит анимация нажатия (насколько я помню), а "тыкать в стену" не охота
Так в чем проблема, пропиши анимацию, сделай три рисунка кнопки, первый стандартный (круг к примеру), второй тот же круг только светлее, а третий тот же круг с эффектом зажатой кнопки и пропиши это в событии "mousemove" для анимации наведения курсора и "mousedown\mouseup" для нажатия, хотя "mousemove" это не самый лучший вариант, но все же работает, если "mousemove" не подходит, то используй свой класс, создай свой Image и пропиши ему такие события как "mouseenter\mouseleave" вот это точно должно подойти.
Цитата (Serz92Li)
А есть такая штука, что кнопка принимает форму загруженного рисунка?
хз, может и есть, но я такое видел только с использованием всяческих TBitmap\TImage и прочих, если запариться и грамотно прописать все необходимые координаты может да же очень эффектно получиться, с другой стороны можно создать свою собственную кнопку, но это уже дебри.
Вот для ознакомления простенький пример с кнопкой, набросал на скорую руку, поэтому извиняюсь за быдлокод 
в данном примере я не использовал ни проверку по координатам, поэтому есть некоторые недочеты, а так же не прописывал события нажатия кнопки "mousedown\mouseup" сделал только "mousemove", да и что там говорить да же не запарился над загрузкой изображений в ресурс, тупо создал 3 Image компонента, ну вобщем просто для демонстрации, как это выглядит, ах да и использование таймера для реализации подобного то же не есть гуд.
Сообщение отредактировал xXxSh@dowxXx - Понедельник, 08.04.2013, 13:13
|
|
|
|
|
Serz92Li
|
Дата: Понедельник, 08.04.2013, 14:04 | Сообщение # 5
|
Был не раз
Зарегистрирован: 08.04.2013
Группа: Пользователи
Сообщений: 20
Статус: Offline
|
Спасибо. Решил без этого обойтись). Это действительно дебри). |
|
|
|
|
Don_Diego
|
Дата: Понедельник, 08.04.2013, 17:15 | Сообщение # 6
|
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
|
Serz92Li, почему же? Есть такая программа. Сам один раз пользовался, за 10 минут разберешься 
Сообщение отредактировал Don_Diego - Понедельник, 08.04.2013, 17:16
|
|
|
|
|
Serz92Li
|
Дата: Вторник, 09.04.2013, 09:28 | Сообщение # 7
|
Был не раз
Зарегистрирован: 08.04.2013
Группа: Пользователи
Сообщений: 20
Статус: Offline
|
В том то и дело, что "Регионы" предназначены для области видимости площади работы, а рисовать каждый регион под кнопку - это батька бред какой-то мне кажется. Что-то наподобие только для кнопок существует??? |
|
|
|
|
Don_Diego
|
Дата: Вторник, 09.04.2013, 16:22 | Сообщение # 8
|
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
|
Цитата (Serz92Li)
Что-то наподобие только для кнопок существует???
Скажу сразу - забудь! Был у меня пример, но он на компьютере остался с такой кнопкой - при работе через регионы кнопка обрезается слишком угловато, и выглядет крайне некрасиво. Самый лучший вариант - это использование TImage. Если будут вопросы - могу более подробно рассказать как делать красивые кнопки с помощью этого компонента.
|
|
|
|
|
Serz92Li
|
Дата: Среда, 10.04.2013, 09:27 | Сообщение # 9
|
Был не раз
Зарегистрирован: 08.04.2013
Группа: Пользователи
Сообщений: 20
Статус: Offline
|
Цитата (Don_Diego)
Если будут вопросы - могу более подробно рассказать как делать красивые кнопки с помощью этого компонента.
Огромное спасибо, конечно бы пример не помешал), дабы не отнимать у тебя времени на разъяснения).
|
|
|
|
|
xXxSh@dowxXx
|
Дата: Среда, 10.04.2013, 13:08 | Сообщение # 10
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Don_Diego, Serz92Li предлогаю написать в этой же теме нормальный гибкий пример, что бы можно было всегда применить в любом проекте, кому то да обязательно пригодится, тем более что часть мы уже обсуждали с Don_Diego.
а вот собственно некоторые кнопочки которые удалось найти, может быть кто что выберет себе:
button's
лучший компонент кнопки из этого выбора (как мне показалось на первый взгляд) оказался наверное PNGButton, так как там есть множество настроек и нужные нам три процедуры "mousemove\mousedown\mouseup" с загрузкой практически любого изображения, хотя поработав 5 минут с этим компонентом я и в нем обнаружил несколько важных недостатков, например если подгонять загруженное изображение под размер компонента автоматом через его настройки (Proportional:= True) то он как то глючно перерисовывает само изображение в процессе работы, да и к тому же во многом нельзя будет общаться с этим компонентом в процессе кода если Вам вдруг придется привязать его к чему либо, к какой нибудь функции или процедуре, вобщем все же мое мнение таково, лучше использовать всем давно знакомый TImage с ним Вы действительно сможете сделать все что угодно, решать Вам 
Сообщение отредактировал xXxSh@dowxXx - Четверг, 11.04.2013, 16:05
|
|
|
|
|
Serz92Li
|
Дата: Четверг, 11.04.2013, 15:51 | Сообщение # 11
|
Был не раз
Зарегистрирован: 08.04.2013
Группа: Пользователи
Сообщений: 20
Статус: Offline
|
Цитата (xXxSh@dowxXx)
Don_Diego, Serz92Li предлогаю написать в этой же теме нормальный гибкий пример, что бы можно было всегда применить в любом проекте, кому то да обязательно пригодится, тем более что часть мы уже обсуждали с Don_Diego.
а вот собственно некоторые кнопочки которые удалось найти, может быть кто что выберет себе:
button's
лучший компонент кнопки из этого выбора (как мне показалось на первый взгляд) оказался наверное PNGButton, так как там есть множество настроек и нужные нам три процедуры "mousemove\mousedown\mouseup" с загрузкой практически любого изображения, хотя поработав 5 минут с этим компонентом я и в нем обнаружил несколько важных недостатков, например если подгонять загруженное изображение под размер компонента автоматом через его настройки (Proportional:= True) то он как то глючно перерисовывает само изображение в процессе работы, да и к тому же во многом нельзя будет общаться с этим компонентом в процессе кода если Вам вдруг придется привязать его к чему либо, к какой нибудь функции или процедуре, вобщем все же мое мнение таково, лучше использовать всем давно знакомый TImage с ним Вы действительно сможете сделать все что угодно, решать Вам
С Image много статей есть и довольно таки интересно, но зачем "изобретать велосипед", если его придумали более "великие умы", такова моя позиция ). А поводу кнопки вопрос решил компонентом "Raize". Довольно таки популярная вещь. Там есть элемент RzBmpButton. Название говорит само за себя). Кнопку можно "заныкать" в текстурку или присвоить ей подходящий рисунок (.bmp или .png) и прописать ей анимацию в пару кликов. Вот собственно сам компонент. Помимо этого куча интересных вещей в нем, которые оч. пригодились. Он более ориентирован на дизайн программы, но и есть другие элементы для работы в разных областях. Устанавливается легко, серийник в архиве. Это не реклама сразу говорю). Спасибо за ссылку, кнопки правда интерсные)
Сам компонент http://delphiexpert.ru/view_download.php?id=86
Сообщение отредактировал Serz92Li - Четверг, 11.04.2013, 15:52
|
|
|
|
|
Don_Diego
|
Дата: Суббота, 13.04.2013, 01:20 | Сообщение # 12
|
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
|
Судя по всему вопрос разрешился |
|
|
|
|
Serz92Li
|
Дата: Суббота, 13.04.2013, 17:15 | Сообщение # 13
|
Был не раз
Зарегистрирован: 08.04.2013
Группа: Пользователи
Сообщений: 20
Статус: Offline
|
Цитата (Don_Diego)
Судя по всему вопрос разрешился
Ну собственно да. Нашел, что хотел. Всем спасибо за помощь ).
|
|
|
|
|