Кнопка произвольной формы 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) Судя по всему вопрос разрешился Ну собственно да. Нашел, что хотел. Всем спасибо за помощь ).
|
|
| |
|