![]() |
|
|
![]()
|
|
| Array |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.8.2004 Репутация: нет Всего: нет |
Каким образом можно реализовать "подсветку"(highlighted) кнопки
( BitBtn, SpeedButton ) во время прохождения над ней курсора мыши? Как бы для выделения. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Можно сделать имитацию кнопки в виде двух картинок, которые сменяют друг друга.
А чем не устраивает SpeedButton->Flat=true; ? |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Если имеется в виду появление окантовки вокруг кнопки, то в качестве варианта могу предложить поместить сзади кнопки объект Image (контейнер для картинок), сделав границы контейнера немного больше границ кнопки, а при наведении мыши на кнопку запихивать в этот объект какой-нибудь фон.
|
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Есть еще один вариант: Когда мышь проходит над кнопкой то можно стандартными функциями WinApi рисовать на ней что угодно.
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| Array |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.8.2004 Репутация: нет Всего: нет |
Artemon Вариант с WinApi интересен, но требуется при прохождении мыши просто "подсветить" фон , а не рисовать картинки. Как это сделать?
Guest Я пробовал присваивать свойству Glyph кнопки BitBtn другую картинку при прохождении над ней мыши. Но возникает проблема с четким "переключением". Может кто посоветует как это можно решить? |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Просто у меня возникала такая же проблема, и я решил ее следующим способом:
По периметру кнопки выводил прямоугольник нужного мне цвета. А что на счет : Что ты имеешь в виду под четким переключением? -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| Array |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.8.2004 Репутация: нет Всего: нет |
Artemon Под "четким переключением" я имею в виду вот что.
Когда я пишу обработчик OnMouseMove надо задать условия смены картинки. Я применял проверку на выход координат X Y за пределы кнопки( X<0 || X>BitBtn1-->Width), ( Y<0 || Y>BitBtn1-->Height ). Так вот такая конструкция не обеспечивает однозначности, т.е. иногда картинка меняется, а иногда нет. Как эти условия можно задать по другому, чтобы такое устранить? А может есть другие решения? |
|||
|
||||
| AntonChik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.10.2005 Где: Красноярск Репутация: 1 Всего: 1 |
во! ты подошел к главному...вобщем, я так понял, тебе теперь не хватает события OnMouseLeave (типа как у Label) ? так в чем проблема ? ... короче, как раз недавно видел я где-то что-то подобное... там чувачок элементарно предлагал создать клон класса (например TImage) и "нашпиговать" его всеми необходимыми тебе свойствами... сам я не пробовал,но выглядит все это весьма правдоподобно... удачи.
--------------------
"Человек притаился за деревом. За широким огромным деревом. Он выглядывал тихонько и прятался. Но его никто не преследовал." (с) Хорги |
|||
|
||||
| AntonChik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.10.2005 Где: Красноярск Репутация: 1 Всего: 1 |
не.я тут только что наткнулся на более простое решение - на ImageMouseMove делай картинку с подсветкой а на FormMouseMove без подсветки... прикольно будет...
--------------------
"Человек притаился за деревом. За широким огромным деревом. Он выглядывал тихонько и прятался. Но его никто не преследовал." (с) Хорги |
|||
|
||||
| Гость_Simbiozis |
|
|||
|
Unregistered |
Был я недавно на каком-то сайте, и вот что!
|
|||
|
||||
| Dubinsky |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 252 Регистрация: 1.6.2005 Репутация: нет Всего: нет |
здесь на форуме есть такая кнопка , верно , сам скачал и пользую, в кнопке обязательно должен быть OnMouseLeave иначе не будет корректно работать (если на форму в обработчике OnMouseMove чистить кнопку , то если юзер мышку с кнопки двинет сразу не на форму , сами понимаете ...такое бывает очень часто , приращение мышки за кадр обработки может быть большим и курсор запросто вылетает с кнопки и формы ! плюс если компонентов много то на каждый придётся писать обработчик OnMouseMove чтобы чистить кнопку ...)
|
|||
|
||||
| Array |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.8.2004 Репутация: нет Всего: нет |
Dubinsky А ссылку на эту кнопку не подкинешь?
|
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Array, зачем тебе этот компонент нужене, что будет с тобой если например он в какой-нибудь момент заглючит, а программа уже будет у заказчика или еще где-то.
лучше используй первый вариант, который предложил AntonChik. Добавлено @ 06:14 Sorry, этот вариант предложил не AntonChik а кто-то другой (в общем я это от кого-то слышал). в OnMouseMove формы изменяй цвет нопки на начальный, а в OnMouseMove кнопки меняй цвет на тот, который тебе нужен. -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| Dubinsky |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 252 Регистрация: 1.6.2005 Репутация: нет Всего: нет |
это будет иногда некорректно работать ! сейчас порою форум была супер кнопка где то ...
Добавлено @ 13:33 ааа нашёл , дурак я ж её использую , а полез в форум ... код на паскале , на Билдере пашет за милую душу без перевода ...
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |