![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
В общем такая проблема у меня появилась - необходимо загрузить картинку, и в специально отведённых областях обрабатывать событие OnClick. Всего TImage делиться на 18 не равных частей, которые должны быть в виде окружности. Есть предположения после прочтения примеров немного другого типа в гугле, однако хотелось бы более точный совет =).
Configuration: CodeGear Rad Studio 2009 Windows Vista Sp1. |
|||
|
||||
| AntonN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.8.2006 Репутация: 3 Всего: 18 |
по MouseDown определять координаты клика, иметь маску областей (в принципе в качестве цвета можно использовать номер области) и смотреть какой цвет (и номер области) вернулся по клику, в случае удачи "вручную" вызывать некий обработчик (самописную функцию итд).
|
|||
|
||||
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Не пойдёт. Различие цветов невозможно. Все центры окружностей имеют один и тот же цвет, а 6/9/15 ( в зависимости от загружаемой картинки) имеют один и тот же цвет. Мне необходимо "разбить" TImage на части и анализировать событие onClick на этих областях. Но проблема - я не знаю как это сделать.
Жду ещё предложений =) |
|||
|
||||
| Shaggy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 2.5.2007 Где: г.Ижевск Репутация: 2 Всего: 5 |
CreateEllipticRgn
PtInRegion |
|||
|
||||
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Всё выдержано в строгости времён СССР. А поподробнее можно? Я уже понял, что необходимо с этими функциями WinAPI работать. Но про окружность я, к примеру, не совсем понял. Какие именно кординаты задаються? Там же вроде их 4 штуки. Поподробнее, пожалуйста =). |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Так есть же описания:
http://msdn.microsoft.com/en-us/library/dd183496(VS.85).aspx http://msdn.microsoft.com/en-us/library/dd162883(VS.85).aspx Что не понятно? Еще в DRKB есть примеры. |
|||
|
||||
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
В общем в условиях поставленой задачи гораздо легче воспользоваться дополнительными TImage с Transparent:=True; И обрабатывать событие onClick на них.
P.S. Мне были необходимы другие способы решения данной проблемы. Однако возникает и ествевственный вопрос - как сделать TImage в виде окружности? Это сообщение отредактировал(а) SkyAngel - 7.2.2009, 14:42 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
а не легче почитать описание функций, предложенных к использованию? или английский не панима?
-------------------- There are always someone smarter than you... |
|||
|
||||
| SkyAngel |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Возможно это я не понял, что я написал, что я спрашивал, есть ли такая функция. Описание какой функции мне смотреть? Название, по идее, должно было за это время ко мне с небес спуститься? =)). На счёт
при дальнейшем анализе того, что должен выполнять этот район - я понял, что изначально путь через области был неправильным, так как мне в дальнейшем необходимо будет на эти районы выводить рисунки. А вот вопрос о TImage неправильной формы остался подвешен... Кто-нибудь компетентен в данном вопросе? |
||||
|
|||||
| AntonN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.8.2006 Репутация: 3 Всего: 18 |
SkyAngel,
Пойдет. Ты параметры областей знаешь? ну вот на рисуй на маске (на втором битмапе) эти области и по маске определяй. Если надо пиши свой компонент, с двумя св-вами picture, в первом лицевая, во второй маска, обработчик onclick переделывай. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |